我有一个除法的结果,我希望放弃结果数的小数部分。

我该怎么做呢?


当前回答

您可以使用. tofixed(0)来删除完整的小数部分或在参数中提供您希望小数被截断的数字。

注意:toFixed将数字转换为字符串。

其他回答

例如:

var x = 9.656;
x.toFixed(0);           // returns 10
x.toFixed(2);           // returns 9.66
x.toFixed(4);           // returns 9.6560
x.toFixed(6);           // returns 9.656000 

or

parseInt("10");         // returns 10
parseInt("10.33");      // returns 10
parseInt("10 20 30");   // returns 10
parseInt("10 years");   // returns 10
parseInt("years 10");   // returns NaN  

使用Math.round()。

(亚历克斯的回答更好;我做了一个假设:)

在这个例子中,我使用Number。固定和数学。trunc方法:

const num = 1.234

Number(num.toFixed(0)); // Returns 1
Number(num.toFixed(2)); // Returns 1.23

Math.trunc(num); // Returns 1

toFixed()方法使用定点表示法格式化数字。 Math.trunc()静态方法通过删除任何小数来返回数字的整数部分。

你可以用…

Math.trunc()(截断小数部分,也见下文) Math.floor()(向下舍入) Math.ceil()(取整) Math.round()(四舍五入到最接近的整数)

取决于你想怎么去除小数点。

Math.trunc()尚未在所有平台(即IE)上得到支持,但您可以在此期间轻松使用polyfill。

另一种具有优秀平台支持的截断小数部分的方法是使用位操作符(.e。g | 0)。对数字使用位操作符的副作用是,它会将其操作数视为有符号32位整数,因此删除了小数部分。请记住,这也会破坏大于32位的数字。


你可能还在谈论浮点算术小数舍入的不准确性。

必读书目-每个计算机科学家都应该知道浮点运算。

固定的会像圆的一样。

对于类似地板的行为使用%:

var num = 3.834234;
var floored_num = num - (num % 1); // floored_num will be 3