• 转换类


    //十进制转二进制
    
    Console.WriteLine(Convert.ToString(69, 2));
    
    //十进制转八进制
    
    Console.WriteLine(Convert.ToString(69, 8));
    
    //十进制转十六进制
    
    Console.WriteLine(Convert.ToString(69, 16));
    
    //二进制转十进制
    
    Console.WriteLine(Convert.ToInt32(”100111101″, 2));
    
    //八进制转十进制
    
    Console.WriteLine(Convert.ToInt32(”76″, 8));
    
    //C# 16进制转换10进制
    
    Console.WriteLine(Convert.ToInt32(”FF”, 16));
        /// <summary>
        /// 转换类
        /// </summary>
        public class ConvertHelper
        {
            /// <summary>
            /// 解四字节浮点数
            /// </summary>
            /// <param name="input"></param>
            /// <returns></returns>
            public static float ByteToFloat(string input)
            {
                if (string.IsNullOrEmpty(input)) return -999;
    
                var result = -999;
    
                try { BitConverter.ToSingle(HexStringToBytes(input), 0); }
                catch { }
    
                return result;
            }
    
            /// <summary>
            /// 字符串转换成十六进制数
            /// </summary>
            /// <param name="input"></param>
            /// <returns></returns>
            public static string StringToHex(string input)
            {
                if (string.IsNullOrEmpty(input)) return "";
    
                return BitConverter.ToString(ASCIIEncoding.Default.GetBytes(input)).Replace("-", "");
            }
    
            /// <summary>
            /// 将字符串转换成字节数组
            /// </summary>
            /// <param name="input"></param>
            /// <returns></returns>
            public static byte[] StringToBytes(string input)
            {
                if (string.IsNullOrEmpty(input)) return null;
    
                return System.Text.Encoding.Default.GetBytes(input);
            }
    
            /// <summary>
            /// 将十六进制数转换成字节数组
            /// </summary>
            /// <param name="input"></param>
            /// <returns></returns>
            public static byte[] HexStringToBytes(string input)
            {
    
                input = Regex.Replace(input, " ", "");
    
                if (input.Length <= 0)
                {
                    return null;
                }
                //若为一位,则在前面补0
                if (input.Length == 1)
                {
                    input = "0" + input;
                }
    
                byte[] bytes = new byte[input.Length / 2];
    
                try
                {
                    for (int i = 0; i < input.Length; i += 2)
                    {
                        if (!byte.TryParse(input.Substring(i, 2), NumberStyles.HexNumber, null, out bytes[i / 2]))
                        {
                            bytes[i / 2] = 0;
                        }
                    }
                }
                catch { }
    
                return bytes;
            }
    
            /// <summary>
            /// 将十六进制数转换为十进制整数
            /// </summary>
            /// <param name="number"></param>
            /// <returns></returns>
            public static Int32 HexToInt32(string number)
            {
                Int32 result = -999;
    
                try { result = Convert.ToInt32(number, 16); }
                catch { }
    
                return result;
            }
    
            /// <summary>
            /// 将十六进制数转换成字符串
            /// </summary>
            /// <param name="input"></param>
            /// <returns></returns>
            public static string HexToString(string input)
            {
                var result = "";
    
                try { ASCIIEncoding.Default.GetString(HexStringToBytes(input)); }
                catch { }
    
                return result;
            }
    
            /// <summary>
            /// 尝试解科学记数
            /// </summary>
            /// <param name="input">要转换的数</param>
            /// <param name="number">转换后的数</param>
            /// <returns></returns>
            public static bool TryParseToDecimal(object input, out decimal number)
            {
                number = -999;
    
                try { number = Decimal.Parse(input.ToString(), System.Globalization.NumberStyles.Float); }
                catch { return false; }
    
                return true;
            }
        }
  • 相关阅读:
    如何在 SQLServer 中启用 xp_cmdshell 等
    强力解决使用node版本管理工具 NVM 出现的问题(找不到 node,或者找不到 npm)
    [啃书] 预告篇
    [啃书] 第5篇
    [啃书] 第4篇
    [啃书] 第3篇
    [啃书] 第2篇
    [啃书] 第1篇
    [前端随笔][Vue] 多级菜单实现思路——组件嵌套
    [算法小练][图][拓扑排序+深度优先搜索] 平板涂色问题
  • 原文地址:https://www.cnblogs.com/baiqjh/p/2844472.html
Copyright © 2020-2023  润新知