删除小数位 - javascript

Dropping decimal places - javascript

本文关键字:javascript 小数 删除      更新时间:2023-09-26

我需要删除答案的小数位,

即:17.5(我知道我可以使用 toFixed() 将其带到 18,但这不是我想要的)

我希望答案是"17"

目前我能做到这一点的唯一方法是执行以下操作(转换为字符串等):

Num = 17.5;                  
Nums = Num.toString();
Numc = Nums.substring(0,2)
Numn = Number(Numc); //Displays 17

然后,这允许我在Javascript中使用这17作为总和。

我只是想知道是否有比使用我当前的方法更简单的方法来实现这一点?类似于 toFixed() 的东西,但只是将其四舍五入到较低的选项?哈哈

你可以使用Math.floor来表示正数(不确定你想要什么负数):

var d = Math.floor(17.5);
var toInteger = function(num) {
    return num >= 0 ? Math.floor(num) : Math.ceil(num);
}
toInteger(12.3); // returns 12
toInteger(-12.3); // returns -12

实际上可以使用toFixed(0)来完成此操作

1234.5678.toFixed(0);

虽然Math.floor更快http://jsperf.com/math-floor-vs-tofixed。我将 aga 的功能包含在测试中