![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
http://www.zenonline.ru/good/tables/add.html
третье число - сумма 1-го и 2-го... ОТКУДА берётся 00000001?????????? |
|||
|
||||
| Гость_DeathStorm |
|
|||
|
Unregistered |
мда херь какая-то
может от версии jscript зависит, я под винхр смотрел, а другим браузером пробовал или везде так насколько я понимаю это цены товаров тогда просто усекай все после копеек. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Это не Яваскрипт, это представление числа с плавающей точкой
Вот тоже на ту тему А ещё поищи по форуму. Помоему ктот целую статью писал про float' ы |
|||
|
||||
| GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
sergej.z
Так прикол в том, что это не всегда происходит!!!!!!!! или иногда ещё лучше бывает, при сложении что-то.23 что-то.43 получается: что-то.659999999999 Решаю это прогоном числа через вот эту функцию:
Но это же бред!!!!!!!!!!!!!!!!!!!! |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
GoodBoy да нормально это !
Float числа в памяти хранятся в бинарном виде, как помним это мантисса и экспонента. В зависимости сколько битов дано на мантису и экспоненту получим множество машинных чисел, растояния между возможными числами разные, этим и обьясняется поблема с "левыми дробями". Решается всё простым округлением либо выбором типа с большей точностью(в JS не доступно). В твоем случае просто умножь на столько, сколько чисел после запятой нужно, затем сделай что нужно и округли, затем раздели назад. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
Sardar
Дык так и делаю, но это же БРЕД!!!!!!!!!!! Тупая ведь бага! Неужели пофиксить это нельзя??? |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Вот, постарался ко-чего написать по теме
http://forum.vingrad.ru/index.php?act=ST&f...=35127&unread=1 |
|||
|
||||
| Се ля ви |
|
|||
![]() Java/SOAрхитектор ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2016 Регистрация: 5.6.2004 Где: place without tim e and space Репутация: 5 Всего: 127 |
GoodBoy это во всех языках программирования тоже встречается. Интел такие процессоры делает просто.. Java эту проблему решает на уровне JVM, а вот для языков по-проще это беда, которую все учатся обходить по-своему...
У меня такая трабла была, когда я Дельфи занимался давно. Очень бесило, а потом стал как-то обходить... по-моему там был нормальный тип один с плавающей точной, который считался нормально, хотя в книгах и писали что он медленней real`а, но мне хватало... -------------------- |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Се ля ви тип наверное был decimal, т.е. отдается место под дрoбную часть(количество цифр после запятой) и под целую, в результате имеем гораздо меньший диапазон значний, но числа равномерно плотно распределенны. На прямую процессором вроде не поддерживаются.
2All не надо с этим бороться, просто когда делали JS, посчитали что точности float32 хватит, это и есть так. Например нужна точность до 3 цифры после запятой:
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Если, как я уже писал в интервале 0.1 - 0.2 их бесконечное количество? |
|||
|
||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Да, в этом и есть большая проблема вещественных чисел.
Можно представить их в decimal, где допустим 4 байта на целую и 4 байта на дробную часть. Сужается диапазон возможных чисел, но числа распределенны равновмерно и точно до своей максимальной точности - до максимально возможного в дробной части. Похоже это сделать трудно, да и не нужно в большинстве ситуаций. В точных вычислениях можно написать собственную либу или взять существующую для работы с болсьхими числами. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |