//十进制转二进制
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;
}
}