首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在JavaScript数学中使用十进制数?

如何在JavaScript数学中使用十进制数?
EN

Stack Overflow用户
提问于 2020-05-05 12:57:24
回答 1查看 76关注 0票数 0

在计算中,我需要将两个不同输入的值相乘,将第三个输入的值相加,然后将这个值放入另一个输入中。第一个输入有时会有一个小数点数(例如: 3.2),而第二个数字有数千、百万等逗号.然后,我需要正确地将这两个数字相乘,将第三个输入值相加,并将结果正确地放入第四个输入中。

现在,这种行为有点奇怪,例如,有时小数3.2将用作32。对于类似的问题,我尝试过几种不同的解决方法,但它们并没有产生我所需要的结果,也没有产生奇怪的行为。toFixed()方法有时会创建太大的数字。例如,它可能会将数百万人转化为万亿人。

编辑:对不起,我忘了说我有第三个输入值,需要在乘法后加到另外两个。这就是问题出现的地方。

代码语言:javascript
运行
复制
$(document).on("input", "#input-1, #input-2, #input-3", function() {
  var val1 = $("#input-1").val();
  var val2 = parseFloat($("#input-2").val().replace(/,/g, ''));
  var val3 = $("#input-3").val();
  var total = (val1 * val2) + val3;
  total = total.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  $("#input-4").val(total).trigger("input");
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div>
  <input id="input-1" type="text" value="3.2" />
  <input id="input-2" type="text" value="1,000,000" />
  <input id="input-3" type="text" value="3" />
  <input id="input-4" type="text" value="0" />
</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-05 13:01:08

尝试将输入1的值转换为数字。

代码语言:javascript
运行
复制
var val1 = Number($("#input-1").val());

另外,如果没有小数,则第二个输入的值不需要parseFloat。无论如何,您也可以用Number()包装结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61613733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档