为什么js中运行出现运算不正确

xufeng808 2010-09-13 11:20:30
页面显示
单价 139.3
询价数量 3.0
总价 417.90000000000003


js代码
var varUnitPrice=document.getElementById("mpsProjectQuoted.unitPrice").value;
var varQuantity=document.getElementById("inquiryNumber").value;
document.getElementById("mpsProjectQuoted.totalPrice").value=varUnitPrice*varQuantity;


为什么总价会这样 请问大家遇到过吗 有什么解决方案没
...全文
119 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xufeng808 2010-09-13
  • 打赏
  • 举报
回复
感谢大家回帖 受教了
xufeng808 2010-09-13
  • 打赏
  • 举报
回复
2楼3楼 都行 5楼6楼 估计也可以 没事 分不多 只能2-3各15 5.6分了 一共40 多谢
xufeng808 2010-09-13
  • 打赏
  • 举报
回复
刚去开发去了 试下去 行的话 结贴
Dota_noney 2010-09-13
  • 打赏
  • 举报
回复
路过,学习了
hoojo 2010-09-13
  • 打赏
  • 举报
回复
toFixed即可
document.getElementById("mpsProjectQuoted.totalPrice").value= (varUnitPrice*varQuantity).toFixed(2);//2位小数
kyzy_yy_pm 2010-09-13
  • 打赏
  • 举报
回复
楼主保留两位小数点吧

var varUnitPrice=document.getElementById("mpsProjectQuoted.unitPrice").value;
var varQuantity=document.getElementById("inquiryNumber").value;
var totalPrice = varUnitPrice * varQuantity + "";
totalPrice = totalPrice.match(/\d+\.\d{2}/);
document.getElementById("mpsProjectQuoted.totalPrice").value=totalPrice;
zhangshaolongjj 2010-09-13
  • 打赏
  • 举报
回复
js对大数的处理就是不准确,他没有类型之分,
kyzy_yy_pm 2010-09-13
  • 打赏
  • 举报
回复
document.getElementById("mpsProjectQuoted.totalPrice").value = parseInt(varUnitPrice)*parseInt(varQuantity);
x372563572 2010-09-13
  • 打赏
  • 举报
回复
= Math.round(varUnitPrice*varQuantity*100)/100;
x372563572 2010-09-13
  • 打赏
  • 举报
回复
document.getElementById("mpsProjectQuoted.totalPrice").value=Math.round(varUnitPrice*varQuantity*100)/100;

87,907

社区成员

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

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