首页 新闻 会员 周边 捐助

C#或javascript为什么用0.07*100取得的结果问题

0
[待解决问题]

在一个表达计算结果为0.07后,我想显示的结果为7%,因此用0.07*100,但是结果不是我想要的7.0,而是在C#里面结果为:7.000000000000009,在chrome控制台结果为:7.000000000000001,不知道为什么?但是其它的数字乘100暂时还没有发现常!

jackcnblog的主页 jackcnblog | 菜鸟二级 | 园豆:206
提问于:2016-08-05 12:12
< >
分享
所有回答(5)
0

你换成*100.0试试。理论上是在计算时会将100转型,所以数值上会改变

雨落~无痕 | 园豆:478 (菜鸟二级) | 2016-08-05 12:56

试过了,不行

支持(0) 反对(0) jackcnblog | 园豆:206 (菜鸟二级) | 2016-08-05 13:09
0

精度损失问题,自己截取下小数位数吧,C#里面可以用decimal。

ArthurLi | 园豆:686 (小虾三级) | 2016-08-05 13:15
0

float小数的问题。

czd890 | 园豆:14488 (专家六级) | 2016-08-05 13:27
0

转成整数后做运算 然后在转成小数

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2016-08-06 09:54
0

明显就是用了float / double 等类型的数据。 这个都是小数不精确的类型。没啥好说的,记得有这么回事就行了。

如果小数要准确,就用decimal (与钱相关的,都用这个decimal)

| 园豆:780 (小虾三级) | 2016-08-07 23:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册