簡體   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