Буфер Java Script, alloc (5, number.toString ()) возвращает значение с плавающей точкой - PullRequest
0 голосов
/ 20 декабря 2018

я работал с буфером в JavaScript.Я хочу написать буфер с первыми пятью цифрами предоставленного ввода.Но вместо возврата 23917 возвращается 2.391. Может ли кто-нибудь объяснить, почему он это делает?

Заранее большое спасибо.

var number=23917397219379217392781;
var buffer=new Buffer.alloc(5,number.toString());
console.log(buffer.toString());

1 Ответ

0 голосов
/ 20 декабря 2018

Это потому, что для больших чисел toString () возвращает строковое представление научной нотации числа.

В вашем случае number.toString () равно 2.3917397219379218e + 22 '.

Чтобы обойти это, реализуйте свой собственный метод numberToString и используйте его для получения строки ненаучной нотации, такой как '23917397219379217392781'

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