【问题标题】:javascript simple math issuejavascript简单的数学问题
【发布时间】:2016-01-06 18:32:58
【问题描述】:

我有一个简单的 javascript 数学问题我无法解决。

var prodajna_avg = parseFloat(vpc - (vpc * (rab_avg / 100))).toFixed(2);
var nabavna = parseFloat(<?php echo "$nabavna_cijena"; ?>);
document.getElementById("brutto_avg").textContent = parseFloat(prodajna_avg - nabavna);

问题在第三行。我没有得到正确的金额,我不知道为什么。第一行金额为 5.624,17,第二行金额为 3.904,54。第三行由于某种原因返回 5.620,19,而应该是 1.719,63。

你能帮帮我吗?我正在学习 javascript,这就是为什么这对我来说是个问题。

谢谢。

【问题讨论】:

  • toFixed 函数将数字转换为字符串,这可能是原因。
  • 如果将行数更改为“5,624.17”和“3,904.54”会发生什么?也许它对使用什么小数分隔符感到困惑。
  • Works fine for me。一定是发生了其他事情。

标签: javascript math subtraction


【解决方案1】:

确保$nabavna_cijena 的格式正确。

var nabavna = parseFloat("3.904,54");  // --> nabavna == 3.904
var nabavna = parseFloat("3,904.54");  // --> nabavna == 3
var nabavna = parseFloat("3904.54");   // --> nabavna == 3904.54

函数parseFloat() 要求小数点为.,并且不允许组分隔符。

【讨论】:

  • 这就是问题所在!非常感谢!
猜你喜欢
  • 1970-01-01
  • 2012-09-27
  • 2011-01-29
  • 1970-01-01
  • 2015-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多