js 浮点数加减

阿狸Ahri 2014-11-01 10:46:02
js 浮点数加减乘除 保留两位小数,怎么弄啊,我感觉超级麻烦....

倒不是我刻意要在前台计算着玩意,这是想把信息呈现给用户看而已

我用那Math.round(num*100)/100 压根就不行.....

比如 我有一个打折的变量 假设是9折 那就是 var de= 9/10;
那我要给用户呈现 折扣率 我用 就是 1-0.9

Math.round((1 - de) * 100 / 100); 他直接给我算了个 0

要是直接 1-de 他等于0.0999999999
这要怎么弄,我不就算个数了,还不让人愉快地活了
...全文
191 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jy02409187 2014-11-01
  • 打赏
  • 举报
回复
计算的时候随便用小数来计算,到输出时保留两位小数就好了 .toFixed(2)
阿狸Ahri 2014-11-01
  • 打赏
  • 举报
回复
引用 5 楼 jslang 的回复:

var de = 9/10;
var v = Math.round((1 - de) * 100) / 100;
alert(v);//输出 0.1
我擦,还有这种事,我好久以前用过一次这个东西....凭印象写出来了,发现不对劲,百度一搜,发现别人用的跟我写的没差多少,就没注意看括号...
步枯 2014-11-01
  • 打赏
  • 举报
回复
Math.round((1 - de) * 100 / 100);输出必然是整数啊。。。
天际的海浪 2014-11-01
  • 打赏
  • 举报
回复

var de = 9/10;
var v = Math.round((1 - de) * 100) / 100;
alert(v);//输出 0.1
天际的海浪 2014-11-01
  • 打赏
  • 举报
回复
引用 3 楼 edfdfg 的回复:
[quote=引用 2 楼 jslang 的回复:] Math.round((1 - de) * 100) / 100;
这个当没说,,,我上面都说用了Math.round((1 - de) * 100) / 100; 又复制一遍[/quote] 你上面写的是Math.round((1 - de) * 100 / 100); 正确的 是ath.round((1 - de) * 100) / 100;
阿狸Ahri 2014-11-01
  • 打赏
  • 举报
回复
引用 2 楼 jslang 的回复:
Math.round((1 - de) * 100) / 100;
这个当没说,,,我上面都说用了Math.round((1 - de) * 100) / 100; 又复制一遍
天际的海浪 2014-11-01
  • 打赏
  • 举报
回复
Math.round((1 - de) * 100) / 100;

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧