C# 单个函数实现各进制数间转换

一个函数实现2,8,10,16进制之间的转换,需要输入原值、原值进制、目标进制,之后以字符串形式返回。

cs 复制代码
        /// <summary>
        /// 实现各进制数间的转换。ConvertBase("15",10,16)表示将十进制数15转换为16进制的数。
        /// </summary>
        /// <param name="value">要转换的值,即原值</param>
        /// <param name="from">原值的进制,只能是2,8,10,16四个值。</param>
        /// <param name="to">要转换到的目标进制,只能是2,8,10,16四个值。</param>
        public static string ConvertBase(string value, int from, int to)
        {
            try
            {
                int intValue = Convert.ToInt32(value, from);  //先转成10进制
                string result = Convert.ToString(intValue, to);  //再转成目标进制
                if (to == 2)
                {
                    int resultLength = result.Length;  //获取二进制的长度
                    switch (resultLength)
                    {
                        case 7:
                            result = "0" + result;
                            break;
                        case 6:
                            result = "00" + result;
                            break;
                        case 5:
                            result = "000" + result;
                            break;
                        case 4:
                            result = "0000" + result;
                            break;
                        case 3:
                            result = "00000" + result;
                            break;
                    }
                }
                return result;
            }
            catch
            {

                //LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);
                return "0";
            }
        }
相关推荐
黑头人15 小时前
Error: JAVA_HOME is not set and Java could not be found
java·开发语言
唐装鼠15 小时前
Rust 中的 `parse` 方法详解(deepseek)
开发语言·后端·rust
双河子思15 小时前
C# 语言编程经验
开发语言·c#
FuckPatience15 小时前
C# 把halcon中的任意图形HXLD在WPF中绘制出来
开发语言·c#
唐装鼠15 小时前
Rust 自动引用规则完全指南(deepseek)
开发语言·后端·rust
qq_3363139315 小时前
java基础-异常
java·开发语言
千里马-horse15 小时前
Napi::Array
开发语言·array·napi
kkkkkkkkl2415 小时前
Spring Boot 中基于线程池的订单创建并行化实践
java·spring boot·juc
lly20240615 小时前
Julia 的复数和有理数
开发语言
春日见15 小时前
如何提升手眼标定精度?
linux·运维·开发语言·数码相机·matlab