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";
            }
        }
相关推荐
低调包含2 分钟前
CRC校验
算法
luoluoal5 分钟前
基于Spring Boot的装饰工程管理系统源码(springboot)
java·spring boot·后端
一个会的不多的人11 分钟前
C# Solidworks二次开发:宏录制实战讲解(第二讲)
开发语言·c#
ProMer_Wang15 分钟前
C#探索之路基础夯实篇(6):C#在Unity中的自定义特性
unity·c#·1024程序员节
J不A秃V头A20 分钟前
IDEA实用小技巧:方法之间的优雅分割线
java·intellij-idea
神奇夜光杯21 分钟前
Python酷库之旅-第三方库Pandas(181)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
tang138976431 分钟前
Python(包和模块)
开发语言·python
涛涛6号31 分钟前
PageHelper(springboot,mybatis)
java·spring boot·后端
ya888g34 分钟前
信息学奥赛复赛复习19-CSP-J2023-02公路-贪心算法、向上取整、向下取整
c++·算法
夜雨翦春韭43 分钟前
【代码随想录Day58】图论Part09
java·开发语言·数据结构·算法·leetcode·图论