首页 新闻 会员 周边 捐助

浮点强制转换整数问题!

1
[待解决问题]

string version = "2.8";

方法1:MessageBox.Show(((int)(float.Parse(version) * 10)).ToString()); //输出:27

方法2:
float f = float.Parse(version) * 10;
int x = (int)f;
MessageBox.Show(x.ToString()); //输出:28

浮点转整数,遇到的一个问题.因为浮点精度问题,字符2.8转换为浮点是2.79999999..那么输出27也是正确的.但不明白的是同一个程序,同一台电脑.方法1和方法2 会输出两种不同的结果?

那位大牛能讲解下这两种方法内在区别?

雪_狼的主页 雪_狼 | 菜鸟二级 | 园豆:202
提问于:2020-07-06 15:40

两个都是28好吧🙄

naerg 4年前

@naerg: 我这儿存在两种不是的结果,由于没开通微博传不了截图.

雪_狼 4年前
< >
分享
所有回答(1)
1

换用10.0

Peking2022 | 园豆:204 (菜鸟二级) | 2020-07-06 19:58

换10.0没问题,只是想知道这两种方式的内在区别.

支持(0) 反对(0) 雪_狼 | 园豆:202 (菜鸟二级) | 2020-07-15 10:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册