C#实现字符串进制转换方法汇总

 更新时间:2022年11月15日 11:10:05   作者:ou.cs  
这篇文章主要介绍了C#实现字符串进制转换方法汇总,给大家罗列了十几种机制转换问题,感兴趣的朋友跟随小编一起看看吧

C# 字符串进制转换

        /// <summary>
        /// 进制转换
        /// </summary>
        /// <param name="input"></param>
        /// <param name="fromType">原来的进制格式</param>
        /// <param name="toType">要转换成的进制格式</param>
        /// <returns></returns>
        public string ConvertGenericBinary(string input, byte fromType, byte toType)
        {
            string output = input;
            switch (fromType)
            {
                case 2:
                    output = ConvertGenericBinaryFromBinary(input, toType);
                    break;
                case 8:
                    output = ConvertGenericBinaryFromOctal(input, toType);
                    break;
                case 10:
                    output = ConvertGenericBinaryFromDecimal(input, toType);
                    break;
                case 16:
                    output = ConvertGenericBinaryFromHexadecimal(input, toType);
                    break;
                default:
                    break;
            }
            return output;
        }

        /// <summary>
        /// 从二进制转换成其他进制
        /// </summary>
        /// <param name="input"></param>
        /// <param name="toType"></param>
        /// <returns></returns>
        private string ConvertGenericBinaryFromBinary(string input, byte toType)
        {
            switch (toType)
            {
                case 8:
                    //先转换成十进制然后转八进制
                    input = Convert.ToString(Convert.ToInt32(input, 2), 8);
                    break;
                case 10:
                    input = Convert.ToInt32(input, 2).ToString();
                    break;
                case 16:
                    input = Convert.ToString(Convert.ToInt32(input, 2), 16);
                    break;
                default:
                    break;
            }
            return input;
        }

        /// <summary>
        /// 从八进制转换成其他进制
        /// </summary>
        /// <param name="input"></param>
        /// <param name="toType"></param>
        /// <returns></returns>
        private string ConvertGenericBinaryFromOctal(string input, byte toType)
        {
            switch (toType)
            {
                case 2:
                    input = Convert.ToString(Convert.ToInt32(input, 8), 2);
                    break;
                case 10:
                    input = Convert.ToInt32(input, 8).ToString();
                    break;
                case 16:
                    input = Convert.ToString(Convert.ToInt32(input, 8), 16);
                    break;
                default:
                    break;
            }
            return input;
        }

        /// <summary>
        /// 从十进制转换成其他进制
        /// </summary>
        /// <param name="input"></param>
        /// <param name="toType"></param>
        /// <returns></returns>
        private string ConvertGenericBinaryFromDecimal(string input, int toType)
        {
            string output = "";
            int intInput = Convert.ToInt32(input);
            switch (toType)
            {
                case 2:
                    output = Convert.ToString(intInput, 2);
                    break;
                case 8:
                    output = Convert.ToString(intInput, 8);
                    break;
                case 16:
                    output = Convert.ToString(intInput, 16);
                    break;
                default:
                    output = input;
                    break;
            }
            return output;
        }

        /// <summary>
        /// 从十六进制转换成其他进制
        /// </summary>
        /// <param name="input"></param>
        /// <param name="toType"></param>
        /// <returns></returns>
        private string ConvertGenericBinaryFromHexadecimal(string input, int toType)
        {
            switch (toType)
            {
                case 2:
                    input = Convert.ToString(Convert.ToInt32(input, 16), 2);
                    break;
                case 8:
                    input = Convert.ToString(Convert.ToInt32(input, 16), 8);
                    break;
                case 10:
                    input = Convert.ToInt32(input, 16).ToString();
                    break;
                default:
                    break;
            }
            return input;
        }

C#进制转换方法汇总

进制转换汇总

1.十进制数转二进制数(结果:11)

 string s1 = Convert.ToString(3, 2);

2.十进制数转二进制数(结果:0011)  (左侧补位方法,转八进制,转十六进制……与之类似)

 string s2 = Convert.ToString(3, 2).PadLeft(4, '0');          

3.十进制数转二进制数(结果:1100)  (右侧补位方法,转八进制,转十六进制……与之类似)

  string s3 = Convert.ToString(3, 2).PadRight(4, '0');

4.十六进制转二进制数(结果:00001111)

 string s4 = Convert.ToString(0xf, 2).PadLeft(8, '0');
            string s5 = Convert.ToString(0xF, 2).PadLeft(8, '0');  //不区分大小写,结果一样。           

5.十六进制转十进制数

   string s6 = Convert.ToString(0xf, 10);                  //结果:15,string类型
            string s7 = Convert.ToString(0xf, 10).PadLeft(4, '0');  //结果:0015,string类型
            int s8 = Convert.ToInt32("f", 16);                     //结果:15,int类型        

6.二进制转十进制(结果:15)

  int s9 = Convert.ToInt32("1111", 2);          

7.十六进制转十进制(结果:48)

  int s10 = Convert.ToInt32("30", 16);         

8.十进制转十六进制(结果:f)

 string s12 = string.Format("{0:x0}", 15);
            // 第2种方法:
            string s12 = convert.ToString(15,16);            

9.二进制转十六进制(结果:f)

  string s13 = string.Format("{0:x}", Convert.ToInt32("1111", 2));         

10.字符转十进制数(结果:65)

    int s14 = Convert.ToInt32('A');        

11.将字符串中第1个字符转成十进制数(结果:65)         

     string s15 = "AB";
            int s16 = Convert.ToInt32(Convert.ToChar(s15[0]));

            Console.WriteLine(s16);      

12.十六进制转浮点数(结果:0.68)

  byte[] bt = new byte[4] { 0x7b, 0x14, 0x2e, 0x3f };
            float ff = BitConverter.ToSingle(bt, 0);         

13,浮点数转十六进制数

  float f = 0.68f;
            string str1 = BitConverter.ToString(BitConverter.GetBytes(f)).Replace("-", ""); //结果:7B142E3F
            string str2 = BitConverter.ToString(BitConverter.GetBytes(f));    //结果:7B-14-2E-3F          

14.int 转字符串

  int n = 49;
            string str1 = n.ToString();     //结果:49
            string str2 = n.ToString("x");  //结果:0x31         

15.字符串转int

    string str = "31";
            int i = Convert.ToInt32(str);  //结果:31       

16.byte 转 int 

 byte bt = 0x31;
            int i = Convert.ToInt32(bt);  //结果;49           

17.ushort[]转换为float类型           

 ushort[] val ;      

            List<byte> result = new List<byte>();

           result.AddRange(BitConverter.GetBytes(val[0]));

           result.AddRange(BitConverter.GetBytes(val[1]));

           float JG= BitConverter.ToSingle(result.ToArray(), 0);

18.float转换为ushort[]类型          

  float value;

           ushort lowOrderValue = BitConverter.ToUInt16(BitConverter.GetBytes(value), 2);

           ushort highOrderValue = BitConverter.ToUInt16(BitConverter.GetBytes(value), 0);

到此这篇关于C#实现字符串进制转换的文章就介绍到这了,更多相关C# 字符串进制转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#实现汉字转拼音(多音字)功能详解

    C#实现汉字转拼音(多音字)功能详解

    这篇文章主要为大家详细介绍了如何利用C#实现汉字转拼音(支持多音字)的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-02-02
  • C#程序打成 一键安装包-InstallShield教程

    C#程序打成 一键安装包-InstallShield教程

    最近找到个打包工具,挺不错的。下面简单的介绍下使用方法
    2012-01-01
  • C#列表框、复选列表框、组合框的用法实例

    C#列表框、复选列表框、组合框的用法实例

    这篇文章主要介绍了C#列表框、复选列表框、组合框的用法,实例分析了在一个简单存储项目中列表框、复选列表框、组合框的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • Untiy Shader实现纹理贴图滚动

    Untiy Shader实现纹理贴图滚动

    这篇文章主要为大家详细介绍了Untiy Shader实现纹理贴图滚动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • C#使用AngleSharp库解析html文档

    C#使用AngleSharp库解析html文档

    这篇文章介绍了C#使用AngleSharp库解析html文档的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#中using指令的几种用法

    C#中using指令的几种用法

    本文介绍的是C#中using指令的几种用法,希望对你有帮助,一起来看吧!
    2015-10-10
  • Unity实现3D射箭小游戏

    Unity实现3D射箭小游戏

    这篇文章主要为大家详细介绍了Unity实现3D射箭小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 如何在Unity中检测死循环和卡死

    如何在Unity中检测死循环和卡死

    这篇文章主要介绍了在Unity中检测死循环和卡死的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • C#比较时间大小的方法总结

    C#比较时间大小的方法总结

    在本篇内容里小编给大家分享的是关于C#比较时间大小的方法总结,对此有需要的朋友们可以学习下。
    2018-12-12
  • C#实现监听串口数据的方法详解

    C#实现监听串口数据的方法详解

    这篇文章主要为大家详细介绍了C#实现监听串口数据的相关方法,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2024-03-03

最新评论