如何在javascript或jquery中为字符串添加一些数字

How can I add some number to string in javascript or jquery

本文关键字:添加 字符串 数字 javascript jquery      更新时间:2023-12-02

我有个问题。将csv解析为html的脚本。但数字是以字符串形式读取的。如何将"0"添加到不需要小数的数字中。例如:

15,45
12,00
14,2
14,54

我想把0加到所有数字上,比如4,2

15,45
12,00
14,20
14,54

尝试

 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);

InvanillaJS

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>