Как преобразовать число с плавающей точкой в ​​целое число в JavaScript? - PullRequest
972 голосов
/ 27 февраля 2009

Я хотел бы преобразовать число с плавающей точкой в ​​JavaScript. На самом деле, я бы хотел знать, как сделать ОБА из стандартных преобразований: путем усечения и округления И эффективно, а не путем преобразования в строку и анализа.

Ответы [ 14 ]

1 голос
/ 31 января 2019

Если посмотреть на нативный объект Math в JavaScript, вы получите целый набор функций для работы с числами и значениями и т. Д. *

В основном то, что вы хотите сделать, довольно просто и встроено в JavaScript ...

Представьте, что у вас есть номер ниже:

const myValue = 56.4534931;

и теперь, если вы хотите округлить его до ближайшего числа, просто сделайте:

const rounded = Math.floor(myValue);

и вы получите:

56

Если вы хотите округлить его до ближайшего числа, просто выполните:

const roundedUp = Math.ceil(myValue);

и вы получите:

57

Также Math.round округление до большего или меньшего числа зависит от того, какой из них ближе к числу смещения.

Также вы можете использовать ~~ после числа с плавающей точкой, что преобразует число с плавающей точкой в ​​целое число.

Вы можете использовать его как ~~myValue ...

1 голос
/ 22 сентября 2015

К усечение :

// Math.trunc() is part of the ES6 spec
Math.trunc( 1.5 );  // returns 1
Math.trunc( -1.5 ); // returns -1
// Math.floor( -1.5 ) would return -2, which is probably not what you wanted

К Вокруг :

Math.round( 1.5 );  // 2
Math.round( 1.49 ); // 1
Math.round( -1.6 ); // -2
Math.round( -1.3 ); // -1
0 голосов
/ 20 января 2017

Если вы используете angularjs, тогда простое решение:

{{val | number:0}}

конвертирует val в целое число

перейти по этой ссылке docs.angularjs.org / api / ng / filter / number

0 голосов
/ 04 ноября 2015

Я просто хочу указать, что в денежном выражении вы хотите округлить, а не усечь. Снижение на пенни гораздо менее вероятно, так как округленное 4.999452 * 100 даст вам 5, более представительный ответ.

И, кроме того, не забудьте о банковском округлении , которое является способом противодействия слегка положительному смещению, которое дает прямое округление - вашему финансовому заявлению это может потребоваться.

округление Гаусса / банкира в JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...