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