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";
            }
        }
相关推荐
稚辉君.MCA_P8_Java几秒前
DeepSeek Java 多线程打印的12种实现方法
java·linux·后端·架构·maven
lsx2024062 分钟前
Bootstrap5 折叠功能详解
开发语言
JienDa3 分钟前
JienDa聊PHP:电商系统实战架构深度解析与优化策略
开发语言·架构·php
lingggggaaaa3 分钟前
免杀对抗——C2远控篇&PowerShell&C#&对抗AV-EDR&停用AMSI接口&阻断ETW跟踪&调用
c语言·开发语言·c++·学习·安全·c#·免杀对抗
k***3884 分钟前
Golang 构建学习
开发语言·学习·golang
zzzsde4 分钟前
【C++】异常:概念及使用
开发语言·c++·算法
代码不停6 分钟前
Java栈题目练习
java·开发语言
xxp43218 分钟前
Qt 多线程
开发语言·qt
864记忆10 分钟前
在IDEA中如何使用翻译插件?
java·ide·intellij-idea
w***488212 分钟前
Springboot 3项目整合Knife4j接口文档(接口分组详细教程)
java·spring boot·后端