我意識到這已經被問到了一些形狀或形式很多次,但我迄今爲止讀過的每個答案都說使用.toFixed(2),不幸的是,它返回結果爲a 字符串。JavaScript - parseFloat強制2位小數爲NUMBER
有些人建議解析兩次,如:
parseFloat(parseFloat("29.6").toFixed(2))
但返回:
29.6
有沒有辦法迫使parseFloat(或別的!)返回一個NUMBER類型有2位小數?
我意識到這已經被問到了一些形狀或形式很多次,但我迄今爲止讀過的每個答案都說使用.toFixed(2),不幸的是,它返回結果爲a 字符串。JavaScript - parseFloat強制2位小數爲NUMBER
有些人建議解析兩次,如:
parseFloat(parseFloat("29.6").toFixed(2))
但返回:
29.6
有沒有辦法迫使parseFloat(或別的!)返回一個NUMBER類型有2位小數?
可以使用:
var your_value = 10.01 // replace with any value you desire
parseFloat(Math.round(your_value * 100)/100).toFixed(2);
實例
var j = parseFloat(Math.round(29.6 * 100)/100).toFixed(2);
console.log(j);
//Output = >"29.60"
var j = parseFloat(Math.round(30.2100 * 100)/100).toFixed(2);
console.log(j);
//Output =>"30.21"
這不回答這個問題。您正在創建一個字符串,而OP需要一個數字。 –
OP已經聲明'toFixed'不會做他們想做的事。 (JS並沒有做他們想做的事情,這是我們試圖解釋的。) –
我明白了。那麼這個問題並不奇怪,因爲無論我們嘗試29.60還是基本29.6轉換爲數字類型。對不起,我真的沒有讀過數字部分。 –
一個實際*編號*將不具有在其打印表示的小數部分尾隨'0'。 –
爲什麼小數點後需要2位數字?它需要被顯示,'string'類型是合適的,如果它需要在計算中使用,則零不重要。 –
這是因爲'5.50000'是'5.5',如果它是一個數字。如果你想在'0'之後不'parseFloat'返回值'toFixed',這是一個字符串('「」29.60「')。 –