javascript - 将 javascript 字符串转换为数字时遇到问题

标签 javascript

我有一个脚本使用 parseFloat 分配一个变量,如下所示:

var vendorCost = parseFloat(vendorSearchresults[0].getValue('vendorcost')).toFixed(2);

我认为这将使变量成为数字。然而,当我用 typeof 检查它时 - 它将它报告为字符串。我的解决方案如下:

vendorCost = parseFloat(vendorCost);

哪个有效,但是我在编码时试图提高效率,并且想了解为什么在为其分配数字时不使vendorCost成为数字?有没有办法让第一个语句使vendorCost 成为一个数字,而不需要第二个语句?提前致谢。

更新 - 只是想我应该提到我在不使用 .toFixed 的情况下遇到了完全相同的问题 -

    var vendorLandedCost = parseFloat(vendorSearchresults[0].getValue('custentity_asg_landed_cost','vendor'));
    vendorLandedCost = parseFloat(vendorLandedCost);

最佳答案

最后一个 toFixed() 调用将第一个 parseFloat 的结果转换为字符串。

看起来您需要将数字四舍五入到小数点后两位,这就是您使用 parseFloat 调用的原因。你可以这样做:

vendor_cost = Math.round(parseFloat(vendorSearchresults[0].getValue('vendorcost')) * 100) / 100

关于javascript - 将 javascript 字符串转换为数字时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27069742/

相关文章:

javascript - 如何找到最近的<i>?

javascript - jquery日期选择器显示超出页面范围

javascript - JS 函数返回函数,共享应该私有(private)的数据

javascript - 如何延长浏览器脚本超时

javascript - 为什么 jQuery.val( value ) 不从 DOM 元素调度任何事件?

javascript - 无法通过异步 ajax 调用呈现 base64 图像返回

javascript - 过滤电影列表 JavaScript

javascript - JQuery:如何将事件连接到 iFrame 滚动

javascript - 如何使用 Jquery 设置总价和数量选项列表

javascript - 如何让数据文件夹中的页面访问 require 函数?