Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.04.2010, 18:15
Аватар для Даниэль Ноубл
Интересующийся
Отправить личное сообщение для Даниэль Ноубл Посмотреть профиль Найти все сообщения от Даниэль Ноубл
 
Регистрация: 21.04.2010
Сообщений: 12

Странное преобразование чисел
Кто нибудь может объяснить почему данный скрипт возвращает 5.220000000000001

var a = '3.22';
alert(parseFloat(a) + 2)


Вместо 5.22
Ответить с цитированием
  #2 (permalink)  
Старый 25.04.2010, 18:55
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от http://ru.wikipedia.org/wiki/ECMAScript
Числовой тип данных в ECMAScript соответствует 64-битному формату чисел с плавающей запятой, определённому стандартом IEEE 754-2008…
IEEE 754 — стандарт двоичной арифметики с плавающей точкой

Последний раз редактировалось Octane, 25.04.2010 в 18:57.
Ответить с цитированием
  #3 (permalink)  
Старый 25.04.2010, 19:01
Аватар для Даниэль Ноубл
Интересующийся
Отправить личное сообщение для Даниэль Ноубл Посмотреть профиль Найти все сообщения от Даниэль Ноубл
 
Регистрация: 21.04.2010
Сообщений: 12

Спасибо конечно за статью Octane, но есть ли готовое решение для javascript???
Ответить с цитированием
  #4 (permalink)  
Старый 25.04.2010, 19:04
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Используйте toFixed или toPrecision для отображения результатов вычислений.
А статью прочитайте, не ленитесь, там не сложно, а знать нужно
Ответить с цитированием
  #5 (permalink)  
Старый 25.04.2010, 19:07
Аватар для Даниэль Ноубл
Интересующийся
Отправить личное сообщение для Даниэль Ноубл Посмотреть профиль Найти все сообщения от Даниэль Ноубл
 
Регистрация: 21.04.2010
Сообщений: 12

Я прочитал статью Довольно таки интересная! не когда раньше не встречался с подобными ошибками
Ответить с цитированием
  #6 (permalink)  
Старый 25.04.2010, 19:13
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

За 10 минут прочитали!?
Ответить с цитированием
  #7 (permalink)  
Старый 25.04.2010, 19:14
Аватар для Даниэль Ноубл
Интересующийся
Отправить личное сообщение для Даниэль Ноубл Посмотреть профиль Найти все сообщения от Даниэль Ноубл
 
Регистрация: 21.04.2010
Сообщений: 12

Но все таки toFixed или toPrecision не сильно подходит пишу калькулятор думаю для пользователя будет не удобно если я буду производить округление по своему усмотрению
Ответить с цитированием
  #8 (permalink)  
Старый 25.04.2010, 19:15
Аватар для Даниэль Ноубл
Интересующийся
Отправить личное сообщение для Даниэль Ноубл Посмотреть профиль Найти все сообщения от Даниэль Ноубл
 
Регистрация: 21.04.2010
Сообщений: 12

Прочитал поверхностно
Ответить с цитированием
  #9 (permalink)  
Старый 25.04.2010, 19:45
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

alert((322 + 200) / 100)
Ответить с цитированием
  #10 (permalink)  
Старый 25.04.2010, 19:54
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

попробуйте длинную арифметику, если вы хотите сделать такой "точный" калькулятор
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странное поведение Dojo. Kuzya59 Dojo toolkit 4 15.10.2011 15:42
Преобразование данных с сервера в JSON frolvict Общие вопросы Javascript 1 04.04.2010 12:26
Преобразование переменной doniv jQuery 15 21.03.2010 15:30
Корректное округление вещественных чисел Бобр Общие вопросы Javascript 16 14.01.2009 18:21
генерация чисел и проверка на повтор Javascript jesuspunk Общие вопросы Javascript 7 25.03.2008 15:32