js中减法问题

muboy1999 2008-08-05 11:28:51
Number('23752.80')-Number('16000')
js中这样做得到的值怎么会是7752.799999999999
应该是7752.8才对呀
帮忙解决一下!


--------------------------------------------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【muboy1999】截止到2008-08-05 11:29:00的历史汇总数据(不包括此帖):
发帖的总数量:18 发帖的总分数:240 每贴平均分数:13
回帖的总数量:52 得分贴总数量:15 回帖的得分率:28%
结贴的总数量:17 结贴的总分数:220
无满意结贴数:2 无满意结贴分:30
未结的帖子数:1 未结的总分数:20
结贴的百分比:94.44 % 结分的百分比:91.67 %
无满意结贴率:11.76 % 无满意结分率:13.64 %
值得尊敬

取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=muboy1999
...全文
1394 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
w527651744 2011-11-21
  • 打赏
  • 举报
回复
受教了,谢谢!
nieliqiang84 2008-08-05
  • 打赏
  • 举报
回复
嗯,我也遇到这样的问题,四舍五入吧,学习了
huijiangpang 2008-08-05
  • 打赏
  • 举报
回复
无论实在JS中还是在JAVA中都无法做精确计算,需要楼上所说的四舍五入
wj19266165 2008-08-05
  • 打赏
  • 举报
回复

function ForDight(Dight,How){

var Dight = Math.round (Dight*Math.pow(10,How))/Math.pow(10,How);

return Dight;

}
//ForDight(Dight,How):数值格式化函数;
//Dight:要格式化的 数字;
//How::要保留的小数位数。
lovingprince 2008-08-05
  • 打赏
  • 举报
回复

function ForDight(Dight,How)
{
Dight = Math.round (Dight*Math.pow(10,How))/Math.pow(10,How);
return Dight;
}



how 要保留的小数位数
dight 要四舍五入的数值

ForDight(7752.799999999999,1)
lovingprince 2008-08-05
  • 打赏
  • 举报
回复
js里面只有浮点的数值,所以在js里面是没有办法精确计算的。一般来说这个并不会影响你的执行效果的,执行一个四舍五入的函数就可以了
nieliqiang84 2008-08-05
  • 打赏
  • 举报
回复
孟子E章 2008-08-05
  • 打赏
  • 举报
回复
出现这样的结果是正常的,js不很适合运算的
需要转换为整数计算

(Number('23752.80')*100-Number('16000') *100)/100

这样就不会出现那样的问题了
cyf_19850212 2008-08-05
  • 打赏
  • 举报
回复
同意四楼的,用个四舍五入函数
hougq 2008-08-05
  • 打赏
  • 举报
回复


var aa = Number('23752.80')-Number('16000');
var bb = aa.toFixed(2);

把得到的值格式化就可以了
shancao 2008-08-05
  • 打赏
  • 举报
回复
支持楼上。只要使用round四舍五入就可以拉

81,091

社区成员

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

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