javascript - 将字符串转换为两位小数,然后将两者相加

标签 javascript

我有两个字符串变量,我将它们转换为 float 。但是当我想将两者相加并获得结果时,它们都会被连接起来。

我就是这样做的:

    <!DOCTYPE html>
    <html>
    <body>
    <p id="demo"></p>
    
    <script>
    var CantVendida='2.00';
    var CantidadBonificacion='1.00';
    var CantidadVenBon=parseFloat(CantVendida).toFixed(2)+parseFloat(CantidadBonificacion).toFixed(2);
    document.getElementById("demo").innerHTML = CantidadVenBon;
    </script>
    
    </body>
    </html>

最佳答案

对结果而不是操作数使用.toFixed(2)

如果您在操作数上使用 .toFixed(2),实际上是在 + 操作发生之前将它们转换为字符串。这就是为什么您在版本中使用字符串连接而不是数学加法。

见下文。

    <!DOCTYPE html>
    <html>
    <body>
    <p id="demo"></p>
    
    <script>
    var CantVendida='2.00';
    var CantidadBonificacion='1.00';
    var CantidadVenBon=parseFloat(CantVendida)+parseFloat(CantidadBonificacion);
    document.getElementById("demo").innerHTML = CantidadVenBon.toFixed(2);
    </script>
    
    </body>
    </html>

关于javascript - 将字符串转换为两位小数,然后将两者相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55405594/

相关文章:

javascript - 在 javascript 中更新对象的定义

javascript - Firefox 20 与 Google 图表 - getValue 奇数

javascript - IE9 selectSingleNode 在 beta 中丢失,如何在 JavaScript 中克服这个问题?

javascript - Breeze.js 使用 noTracking 不展开实体

javascript - 使用语义ui想要生成动态下拉菜单

javascript - Zombie + NodeJS + Express - 使用选项卡时出错

javascript - 如何使用jquery缩放带有背景图像的内容?

javascript - 读取文件时设置超时

javascript - header 未显示在获取响应中

javascript - 如何强制 Accordion 一次打开一个?