Вычисления с плавающей точкой

Есть в Си Шарп вычисления типа

 Double x=1.11
Double y=2.34
Double z=x+y

Или др. Нужно все время думать о точности результата или тип даёт постоянную, семь или восемь знаков после запятой? Округления делать, думать о предоставлении чисел или просто писать десятичные?

А ошибки операций часто бывают? Компилятор сам может исправить?


Ответы (1 шт):

Автор решения: CrazyElf

Если хотите практически точных вычислений, то используйте специальный тип decimal, он есть не только в C#, но и во многих других языках, потому что программы часто пишут и для банков, например, а никто не хочет, чтобы у него деньги неточно считались, этот тип специально придумали для денежных и прочих точных вычислений. Он работает медленнее, чем float и double, но зато он способен хранить и обрабатывать числа с минимальной потерей точности.

А вообще воспользуйтесь поиском, тут много раз обсуждались проблемы с неточностью чисел с плавающей точкой.

→ Ссылка