c#中int向float型转换。

来源:百度知道 编辑:UC知道 时间:2024/05/04 21:16:47
今天发觉了一个让自己很疑惑的问题。就是在c#中int型可以隐式转换为float型吧,可它的精度只有7位,并且它这个精度是总的位数只有7位,不是说可以精确到小数点后7位吧。可int型的最大值就已经超过了7位了,那它转换的时候不会出现问题吗?我知道float可以表示不int型大的数因为它有阶码。

float的存储位是32比特,定义其为7位有效数字,这里的7位有效数字是说精度,不是说范围.
你可以使用double或decimal
其中double也使用double.ToString("0.000");来控制精度

float的精度是指有效数字的位数,不一定是指小数点后位数。float型数据也是用32位存储,由于有阶码,所以损失了部分精度。