[英]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.