JavaScript числовая точность на 64 бита

добавьте эту строку var Name = document.getElementById('Name'); document.getElementById("Name").value = Name; и удалите value="Name" из вашего html

7
задан hippietrail 24 December 2012 в 12:44
поделиться

4 ответа

Я просто использовал бы или массив целых чисел или строку.

Числа в JavaScript, удваивается, я думаю, что существует погрешность округления, вовлеченная в Ваше уравнение.

0
ответ дан 8 December 2019 в 02:00
поделиться

Команды GWT добавили долгую поддержку эмуляции, таким образом, Java longs действительно содержит 64 бита. Вы хотите плавания на 64 бита или целые числа?

0
ответ дан 8 December 2019 в 02:00
поделиться

Возможно, я должен был добавить некоторую техническую деталь. В основном GWT долгая эмуляция использует кортеж двух чисел, первое содержание высокие 32 бита и второе низкие 32 бита 64 бита длиной.

Библиотека, конечно, содержит методы для добавления материала как добавление двух "longs" и получение "длинного" результата. В рамках Вашего кода Java GWT это просто похоже на два регулярных longs - не нужно играть или знать о кортеже. При помощи этого подхода GWT избегает проблемы, Вы, вероятно, ссылаетесь на, а именно, "longs" отбрасывание более низких битов точности, которая не приемлема во многих случаях.

Пока плавания по определению неточны / приближения значения, целое число как длинное не. GWT всегда содержит 64 бита длиной - математика с помощью такого longs никогда не использует точность. Исключением к этому является переполнение, но это точно соответствует тому, что происходит в Java и т.д., когда Вы добавляете два очень больших длинных значения, которые требуют больше чем 64 битов - например, 2^32-1 + 2^32-1.

Чтобы сделать то же для чисел с плавающей точкой потребует аналогичного подхода. У Вас должна будет быть библиотека, которая использует кортеж.

0
ответ дан 8 December 2019 в 02:00
поделиться

Почему кому-либо была бы нужна точность на 64 бита в JavaScript?

Longs иногда содержат идентификатор материала в DB так его важное для не потери некоторых более низких битов..., но числа с плавающей точкой большую часть времени используются для вычислений. Использовать плавания для содержания денежных или подобных обременительных значений - просто неправильный. Если Вам истинно нужна точность на 64 бита, делают математику на сервере где быстрее и так далее.

-7
ответ дан 8 December 2019 в 02:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: