var number = 1.2;
var rounded = number.tofixed() + 2
我试图将tofixed值与任何数字相加但是使用上面的代码我被调整为舍入= 12 ....我想知道为什么它不总和以及如何解决它?
这是小提琴example。
谢谢。
答案 0 :(得分:4)
JavaScript没有定点数字。 toFixed returns a string。等效数字是Math.round:
Math.round(1.2) + 2 // 3
答案 1 :(得分:3)
看起来你想要向下舍入?使用Math.floor
代替toFixed
。
var number = 1.2;
var floored = Math.floor(number) + 2
如果您真的想要使用舍入数字Math.round()
。
答案 2 :(得分:3)
Float.toFixed()
返回一个字符串。 (docs)字符串+ int将int转换为字符串并连接两个字符串。你想要的是:
(number + 2).toFixed();
答案 3 :(得分:1)
tofixed方法将答案作为字符串返回,如果要对其进行数字数学处理,则必须将其转换回数字。
var number = 1.2;
var rounded = parseFloat(number.tofixed()) + 2;
答案 4 :(得分:0)
number = 1.2
number= number+2
rounded = number.toFixed() ;
tofixed方法将答案作为字符串返回,因此您可以先添加然后再添加
答案 5 :(得分:0)
将结果字符串转换为整数:
$(document).ready(function(){
number = 1.2
rounded = parseInt(number.toFixed()) + 2;
alert(rounded);
})