Задать вопрос
@returnZero

В чем отличие float/double и decimal?

Здравствуйте, хотел попросить какие-то материалы, которые будут понятны новичку, насчёт ошибок округления и типа decimal, заранее спасибо!
  • Вопрос задан
  • 4285 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
float и double - это числа с плавающей точкой по стандарту IEEE754. Операции с ними происходят достаточно быстро, тк они реализованы в процессоре на аппаратном уровне.
Но они достаточно не точные в плане выражения десятичных дробей. (То самое 0.1+0.2 != 0.3).
Настоящие деньги на них считать не следует.

decimal же напротив очень точный, но медленный.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
mayton2019
@mayton2019
Bigdata Engineer
Там - простое правило. Для денег - бери decimal. Всегда бери.

А для научных расчетов (там где копейка в младшем разряде роли не играет) - бери float/double.
Отличаются они разрядностью. Если экономить надо (матрицы чисел) - то бери float (32 bit).
Если просто нужна вещественная величина в переменной - то бери сразу double. Никто не будет
возражать.
Ответ написан
Комментировать
2ord
@2ord
https://floating-point-gui.de/

Статья: What Every Scientist Should Know About Floating-Point Arithmetic
Ответ написан
Комментировать
NikFaraday
@NikFaraday
Student full-stack Developer
decimal - для денЯк
float - имеет точность при расчётах 8 цифр после запятой (32 бита - 4 байта)
double - имеет точность 16 цифр после запятой (64 бита - 8 байт)

Используйте, что вам удобно )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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