在JavaScript中将字符串转换为十进制数字

时间:2019-06-27 04:09:08

标签: javascript string numbers

如果我有一个字符串(即“ 10.00”),如何将其转换为十进制数字?我的尝试如下:

   var val= 10;
   val = val.toFixed(2);
   val= Number(val); // output 10 and required output 10.00

5 个答案:

答案 0 :(得分:2)

因为您要将其转换回数字:

var val = 10;
val = val.toFixed(2);
val = +val;
console.log(val);

答案 1 :(得分:0)

您可以使用parseFloat()将字符串转换为浮点数,并可以使用toFixed()固定小数点

var val = "10.00";
var number = parseFloat(val).toFixed(2);
console.log(number);

答案 2 :(得分:0)

  

最简单的方法

var val= 10; 
var dec=parseFloat(Math.round(val * 100) / 100).toFixed(2)
print(typeof dec )
print("decimal "+dec)
  

输出       数       十进制10.00

答案 3 :(得分:0)

请在双引号中添加值,以便将其视为字符串。

var val= "10";
val= parseFloat(val).toFixed(2);
console.log(val);

答案 4 :(得分:0)

您可以使用Intl.NumberFormat
但请注意-Safari不支持。

function customFormatter(digit) {
  if (typeof digit === 'string') {
    digit = parseFloat(digit);
  }
  var result = new Intl.NumberFormat('en-En', {
    minimumFractionDigits: 2,
    maximumFractionDigits: 2
  }).format(digit)
  return result;
}

console.assert(
  customFormatter(10) === '10.00', 
  {msg: 'for 10 result must be "10.10"'}
);

console.assert(
  customFormatter('10') === '10.00', 
  {msg: 'for 10 result must be "10.10"'}
);

console.log('All tests passed');