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";
            }
        }
相关推荐
地平线开发者17 分钟前
CPU& 内存加压工具 stress-ng 介绍
算法·自动驾驶
暮志未晚Webgl19 分钟前
109. UE5 GAS RPG 实现检查点的存档功能
android·java·ue5
XY.散人20 分钟前
初识算法 · 分治(2)
算法
DanielYQ20 分钟前
LCR 001 两数相除
开发语言·python·算法
yngsqq25 分钟前
037集——JoinEntities连接多段线polyline和圆弧arc(CAD—C#二次开发入门)
开发语言·c#·swift
冉佳驹27 分钟前
数据结构 ——— 希尔排序算法的实现
c语言·数据结构·算法·排序算法·希尔排序
Zԅ(¯ㅂ¯ԅ)27 分钟前
C#桌面应用制作计算器进阶版01
开发语言·c#
过期的H2O229 分钟前
【H2O2|全栈】JS进阶知识(七)ES6(3)
开发语言·javascript·es6
一路冰雨39 分钟前
Qt打开文件对话框选择文件之后弹出两次
开发语言·qt
St_Ludwig42 分钟前
C语言 蓝桥杯某例题解决方案(查找完数)
c语言·c++·后端·算法·游戏·蓝桥杯