如果我有一个字符串(即“ 10.00”),如何将其转换为十进制数字?我的尝试如下:
var val= 10;
val = val.toFixed(2);
val= Number(val); // output 10 and required output 10.00
答案 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');