【问题标题】:Calculation with parseFloat looses decimal places使用 parseFloat 计算会丢失小数位
【发布时间】:2018-03-06 14:38:29
【问题描述】:

我需要计算几个数字。到目前为止它工作正常,但它失去了原来的小数位(这里:50 美分)。知道为什么会这样吗?

$("select").on("change", function () {
  var sum1 = parseFloat($(this).val()) * parseFloat($(this).data("price"));
  var sum2 = parseFloat($("#orgPrice").data("price"));
  var sum3 = parseFloat(sum1) + parseFloat(sum2);
  $("#total").text(sum3.toFixed(2));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div id="orgPrice" data-price="100,00"></div>

<select id="subcode_060" class="custom-select custom-select-sm" data-description="UPGRADES" data-subdescription="X to Y" data-price="3560,50">
  <option value="0" selected>0</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
</select>

<div id="total">0.00</div>

【问题讨论】:

  • 用点.代替逗号,3560.50
  • 是的,这个提示帮助了我,谢谢!!

标签: javascript jquery html parsefloat


【解决方案1】:

您必须使用. 而不是, 查看唯一的变化只发生在这里,来自

data-price="3560,50"

data-price="3560.50"

$("select").on("change", function () {

  var sum1 = parseFloat($(this).val()) * parseFloat($(this).data("price"));
  var sum2 = parseFloat($("#orgPrice").data("price"));
  var sum3 = parseFloat(sum1) + parseFloat(sum2);

  $("#total").text(sum3.toFixed(2));

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="orgPrice" data-price="100,00"></div>
 
 <select id="subcode_060" class="custom-select custom-select-sm" data-description="UPGRADES" data-subdescription="X to Y" data-price="3560.50">
   <option value="0" selected>0</option>
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
</select>

<div id="total">0.00</div>

注意:当然你也想把data-price="100,00"改成data-price="100.00",因为它是.00

【讨论】:

    【解决方案2】:

    您需要使用. 而不是, 作为data-price 中的小数分隔符。

    data-price="3560.50"

    这是更新后的小提琴吗?:https://jsfiddle.net/ub4j7d7z/3/

    【讨论】:

      猜你喜欢
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      相关资源
      最近更新 更多