我有下面的代码。我想让它这样,如果price_result等于一个整数,比如10,然后我想加两位小数点后。所以10就是10.00。 如果等于10.6,就是10.60。不知道该怎么做。

price_result = parseFloat(test_var.split('$')[1].slice(0,-1));

当前回答

来自洛达什的西尔可能是最好的

_.ceil("315.9250488",2) 
_.ceil(315.9250488,2) 
_.ceil(undefined,2)
_.ceil(null,2)
_.ceil("",2)

也会工作与一个数字,它是安全的

其他回答

如果你不想四舍五入,请使用下面的函数。

function ConvertToDecimal(num) {
    num = num.toString(); //If it's not already a String
    num = num.slice(0, (num.indexOf(".")) + 3); //With 3 exposing the hundredths place
   alert('M : ' +  Number(num)); //If you need it back as a Number    
}

你可以使用toFixed()来做到这一点

var twoPlacedFloat = parseFloat(yourString).toFixed(2)

您可以将价格存储为字符串

你可以使用 (字符串)

用于计算。

例子

Number("34.50") == 34.5

also

Number("35.65") == 35.65

如果你对数字函数感到舒服,你可以使用它。

parseFloat(parseFloat(amount).toFixed(2))

你必须解析两次。第一次是将字符串转换为浮点数,然后将其固定为两个小数(但toFixed返回一个字符串),最后再次解析它。

@sd 简单的回答:在JS中没有办法有数字数据类型的值与小数后面的零。

长回答:它是JavaScript的属性toFixed或toPrecision函数,用于返回String。这样做的原因是数字数据类型不能有像a = 2.00这样的值,它总是会删除小数后面的零,这是数字数据类型的内置属性。因此,要在JS中实现上述目标,我们有两个选择

要么使用数据作为字符串,要么 同意在ex2.50 -> 2.5结尾使用大小写为“0”的截断值。