Я пытаюсь преобразовать следующий большой int в строку в javascript без успеха. Моя цель состояла бы в конечном итоге с «582235852866076672»Javascript convert bigInt to string
var foo = 582235852866076672;
console.log(foo); // 582235852866076700
var baz = "'" + 582235852866076672 + "'";
console.log(baz); // '582235852866076700'
var emptyString = 582235852866076672+'';
console.log(emptyString); // 582235852866076700
var n = foo.toString();
console.log(n); // 582235852866076700
Я полагал, что номер был слишком большим, и была потеря точности в результате. я включил bigint library без успеха:
:
var bigint = require('bigint'); var bigintLibrary = bigint(582235852866076672).toString(); console.log(bigintLibrary); //582235852866076700
Метод toSting в BigInt состояний библиотеки «Распечатайте BigInt например, в запрашиваемом базу в виде строки.»
Я ценю всю помощь и комментарии. Благодарю.
Где находится номер? Номер, о котором вы говорите, не может существовать как обычный номер javascript, поэтому источник важен. –
@AaronDufour число приходит в params почтового запроса, я пробовал var jsonString = JSON.stringify (582235852866076672); с тем же результатом console.log (jsonString); // 582235852866076700. – srm
Вам придется вручную проанализировать параметры. Если вы не можете заставить клиента передать его как строку вместо числа? Точность теряется, как только библиотека анализирует ее на число, поэтому к тому времени, когда она дойдет до вашего кода, уже слишком поздно. –