繁体   English   中英

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

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

我有个问题。 脚本将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); 

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中将所有字符串作为发布格式获取,则可以使用length:

 ["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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM