关于字符串的一些操作,各种进制之间的转换···
功能实现如图所示:data 数据保存的是一个 16进制的数字,下面输入框表示的是显示二进制的数字。
一般在传值的时候,都是10进制的数字,或者是其他进制的字符串格式。今天整理一些关于字符串和各种进制之间的操作方法。
一)首先了解各种进制之间的数字转换方法 http://www.cnblogs.com/lds85930/archive/2007/09/19/897912.html
二)一些常用的方法
1)将一个16进制的字符转成 二进制
//十进制转二进制
Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2));
//十进制转八进制
Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8));
//十进制转十六进制
Console.WriteLine("十进制166的十六进制表示: "+Convert.ToString(166, 16));
//二进制转十进制
Console.WriteLine("二进制 111101 的十进制表示: "+Convert.ToInt32("111101", 2));
//八进制转十进制
Console.WriteLine("八进制 44 的十进制表示: "+Convert.ToInt32("44", 8));
//十六进制转十进制
Console.WriteLine("十六进制 CC的十进制表示: "+Convert.ToInt32("CC", 16));
public static string ToString(byte value, int toBase);
public static string ToString(char value, IFormatProvider provider);
public static string ToString(DateTime value, IFormatProvider provider);
public static string ToString(decimal value, IFormatProvider provider);
public static string ToString(double value, IFormatProvider provider);
public static string ToString(float value, IFormatProvider provider);
public static string ToString(int value, IFormatProvider provider);
public static string ToString(int value, int toBase);
public static string ToString(long value, IFormatProvider provider);
public static string ToString(long value, int toBase);
public static string ToString(object value, IFormatProvider provider);
public static string ToString(sbyte value, IFormatProvider provider);
public static string ToString(short value, IFormatProvider provider);
//
// 摘要:
// 将 16 位有符号整数的值转换为其指定基的等效字符串表示形式。
//
// 参数:
// value:
// 要转换的 16 位有符号整数。
//
// toBase:
// 返回值的基数,必须是 2、8、10 或 16。
//
// 返回结果:
// 以 toBase 为基的 value 的字符串表示形式。
//
// 异常:
// System.ArgumentException:
// toBase 不是 2、8、10 或 16。
[SecuritySafeCritical]
public static string ToString(short value, int toBase);
public static string ToString(string value, IFormatProvider provider);
public static string ToString(uint value, IFormatProvider provider);
public static string ToString(ulong value, IFormatProvider provider);
public static string ToString(ushort value, IFormatProvider provider)
2)一些处理方法
private int HexToInt(char ch) { switch(ch) { case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': return ch - 'a' + 10; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': return ch - 'A' + 10; default: return ch - '0'; } }
3)控件输入字符的限定
1 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 2 { 3 if (e.KeyChar != '0' && e.KeyChar != '1') 4 { 5 e.Handled = true; //取消后面的操作 6 } 7 if (TextBoxChange != null) 8 { 9 TextBoxChange(this.Text); 10 } 11 }

浙公网安备 33010602011771号