c#中Convert中没有ToFloat()方法。
将string转化成float可以采用下面的方法 float.Parse()方法,相应的int.Parse()方法。
float ratio = score / point * 100;
ratio.ToString("f1");
可以使用上面的方法将float转化成带一位小数的字符串
作者邮箱:guduchuangtianxia@sina.com.cn
c#中各种数据类型的转化
对于初学者来说,在编写c#程序时最头痛的就是要进行各种数据类型的转换,
由于对.net开发环境的不熟悉以及系统提供的API的不了解,在处理程序时占用
了很长的时间,笔者虽然做c#的开发时间不长,但对数据之间的转化也有了一
定的心得,现在共享出来希望对大家能有所帮助。
1.int型转化为string
int i;//i可根据自己的需要进行初始化
string a = i.ToString();
2.string转化为byte[]
方法1:
string t;//要转化的字符串
char[] m = t.ToCharArray();
byte[] n = new byte[m.Length];//转化的结果数组
for ( i = 0; i < m.Length; i++)
{
n[i] = (byte)m[i];
}
方法2:
利用系统提供的函数
string str;
Byte[] bt = System.Text.Encoding.ASCII.GetBytes(str.ToCharArray);
3.int型转化为byte[]
方法1:
int i;
byte[] temp = new byte[4];
int pos;
for (pos = 0; pos < 4; pos++)
{
temp[pos] = (byte)(i & 0xff);
i >>= 8;
if (i == 0) break;
}
方法2:
利用系统提供的函数
int i;
byte[] tdata = new byte[4];
data = System.BitConverter.GetBytes(i);
4.byte[]转化为string
方法1:
byte[] tmp;
string str =new System.Text.ASCIIEncoding ().GetString (tmp );
方法2:
byte[] tmp;
string str = System.Text.Encoding.ASCII.GetString(tmp);
5.string类型转化为int
方法1:
string str;
int i = Convert.ToInt32(str);
方法2:
string str;
int i = Int32.Parse(str);
6.byte[]转换为int
方法1:
int res = 0; //结果
int temp = 0;
byte[] result;//可由上文得到,或自己进行初始化
for (int h = 3; h>=0; h--)
{
res<<= 8;
temp = result[h] & 0xff;
res |= temp;
}
方法2:
byte[] result;
int res = System.BitConverter.ToInt32(result,result想转化的起始位置);
从小端大端问题剖析数据类型转化
********** **********
* 1 Byte * <-----------* 1 Byte * 低位
********** ********** |
* 1 Byte * |
********** |
* 1 Byte * |
********** |
* 1 Byte * 高位
**********
* 78 * 低位
********** |
* 56 * |
********** |
* 34 * |
********** |
* 12 * 高位
**********
* 12 * 低位
********** |
* 34 * |
********** |
* 56 * |
********** |
* 78 * 高位
**********