我有一個問題。腳本解析CSV到HTML。但是數字被讀爲一個字符串。如何將「0」加到不需要小數的數字上。例如:如何添加一些數字字符串在JavaScript或jQuery
15,45
12,00
14,2
14,54
我要像4,2
15,45
12,00
14,20
14,54
我有一個問題。腳本解析CSV到HTML。但是數字被讀爲一個字符串。如何將「0」加到不需要小數的數字上。例如:如何添加一些數字字符串在JavaScript或jQuery
15,45
12,00
14,2
14,54
我要像4,2
15,45
12,00
14,20
14,54
加0的所有號碼嘗試
var output = "15,2".split(",").map(function(val){ return val > 100 ? val: (val+"00").slice(0,2);}).join(",");
alert(output);
var output = "15,100".split(",").map(function(val){ return val > 99 ? val: (val+"00").slice(0,2);}).join(",");
alert(output);
var output = "15,".split(",").map(function(val){ return val > 100 ? val: (val+"00").slice(0,2);}).join(",");
alert(output);
它doesn '不適用於整數(例如'15') – fcalderan
@fcalderan對於'15,15'它輸出了我'15,15'在這種情況下應該輸出什麼? – gurvinder372
試用'15',應該輸出'15.00' – fcalderan
在vanillaJS
var num = "14,2";
/* string to number conversion */
num = +(num.replace(',','.'));
/* set 2 digits after decimal point */
num = num.toFixed(2);
/*
Input Output
--------------
14,25 14.25
14,2 14.20
14 14.00 */
降低單個語句,如在下面的意見建議:
(+num.replace(',','.')).toFixed(2);
,如果你有一個字符串數組,你可以使用Array.map()
var nums = ["14", "14,2", "14,25"];
nums = nums.map(n => (+n.replace(',','.')).toFixed(2));
// => ["14.00", "14.20", "14.25"]
如果你輕鬆地將它們轉換所有字符串作爲發佈格式在OP中可以使用長度:
["15,45","12,00","14,2"].forEach(function(v){
alert(v.split(',')[1].length==1?v+"0":v);
})
您可以使用此:
var arr = ["15,45","12,00","14,2","14,54"];
var newarr = arr.map(function(o){
var val = o.split(',');
return val[1].length == 1 ? val.join(',')+"0" : val.join(',');
});
document.querySelector('pre').innerHTML = JSON.stringify(newarr, 0, 4);
<pre></pre>
'12,00'是'12.00'不同你有什麼期望是什麼呢? –
可能重複[如何使用JavaScript創建Zerofilled值?](http://stackoverflow.com/questions/1267283/how-can-i-create-a-zerofilled-value-using-javascript) – Farside