转换类
//十进制转二进制 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; } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步