當我嘗試使用JavaScript轉換分數時,我遇到了一個問題。 我需要將百分比值作爲百分比值。 a = 0.0175 它應該顯示爲1.75%。我試圖乘以100.但我得到了一些額外的分數加到右邊 - 1.7500000000000002。我只需要1.75,而不是再添加到最後的零。JavaScript分數百分比
在此先感謝。
當我嘗試使用JavaScript轉換分數時,我遇到了一個問題。 我需要將百分比值作爲百分比值。 a = 0.0175 它應該顯示爲1.75%。我試圖乘以100.但我得到了一些額外的分數加到右邊 - 1.7500000000000002。我只需要1.75,而不是再添加到最後的零。JavaScript分數百分比
在此先感謝。
試試這個
var a = 0.0175
var num = a * 100;
var n = num.toFixed(2)
是否可以不指定長度?有時如果值爲0.03425,則應該顯示爲3.425。我不想限制分數位置的數量,甚至不用零填充它。 – Dig 2014-10-04 00:56:46
如果你不想要小數位數然後直接倍數兩位小數,但一定要將它們轉換成小數,這是因爲JavaScript把每一個字符串都對待一個字符串 – 2014-10-04 01:11:27
乘法,圓形和除法:
// rounding to set precision or default precision = 3
function roundToPrecision (value, precision) {
precision = (typeof precision !== 'undefined') ? precision : 3;
var mult = Math.pow(10, precision);
return Math.round(mult * value)/mult;
}
用法:
var zzz = roundToPrecision(123.1231232546); // 123.123
var aaa = roundToPrecision(123.1231232546, 1); // 123.1
這麼簡單的結果 – njzk2 2014-10-04 00:32:16
需要一個通用舍入函數 – 2014-10-04 00:34:09
除'toFixed()'返回字符串 – 2014-10-04 00:39:59
試試這個:
function formatNum(n) {
return Math.round(a * 1e4)/1e2;
}
var a = 0.0175;
var n = formatNum(a); // 1.75
var b = 0.21;
var m = formatNum(b); // 21
它簡單地乘以100 * 100,將結果舍入並再次除以100.結果因此仍然是一個數字而不是字符串,這與toFixed
-approach一樣。
您還可以添加解釋嗎? – Robert 2015-06-04 11:07:52
使用'toFixed()'指定小數位數。 – Barmar 2014-10-04 00:16:37