2013-11-20 48 views
-1

所以四捨五入我用如何變換號浮

Math.round(num * 100)/100; 

但我也需要這樣的

1 => 1.00 
1.5 => 1.50 
1.456 => 1.46 

小數我

num.toFixed(2); 

但這種回報達到這個一個字符串,我知道這必須是一個字符串。但是有沒有辦法獲得相同的功能,但返回浮點值,而不是字符串?

1 is the same amount as 1.00 

那麼,爲什麼我需要這些零?因爲我正在使用的API預計只能浮動。事件1必須以1.00浮點數傳遞。有任何想法嗎?

+0

此問題在邏輯上存在缺陷......您希望1.1(這是一個數字)被表示爲「1.10」(這是一個字符串)。但是在數字世界中,沒有1.10,因爲這是1.1,因爲它沒有意義,因爲它是零,因此對於最後一位小數沒有意義。 – marekful

+0

in js 1 === 1.00,所以沒有辦法區分這兩個數字。只有在將字符串轉換爲字符串時纔會出現這樣的問題。 – GameAlchemist

+0

@MarcellFülöp確切的,所以這是api的問題 –

回答

3

當返回參數時,只需將它們轉換爲使用字符串中的parseFloat()從字符串中浮動即可。格式不是浮點類型的一部分,因此只存儲該值。如果您需要格式以及值,則應創建自定義類。