繁体   English   中英

无法将javascript字符串转换为数字

[英]Trouble converting javascript string to number

我有一个脚本使用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

好吧, Number.toFixed返回字符串,因为它是数据表示功能。

请参阅文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM