Вычисления с плавающей точкой
Есть в Си Шарп вычисления типа
Double x=1.11
Double y=2.34
Double z=x+y
Или др. Нужно все время думать о точности результата или тип даёт постоянную, семь или восемь знаков после запятой? Округления делать, думать о предоставлении чисел или просто писать десятичные?
А ошибки операций часто бывают? Компилятор сам может исправить?
Ответы (1 шт):
Если хотите практически точных вычислений, то используйте специальный тип decimal, он есть не только в C#, но и во многих других языках, потому что программы часто пишут и для банков, например, а никто не хочет, чтобы у него деньги неточно считались, этот тип специально придумали для денежных и прочих точных вычислений. Он работает медленнее, чем float и double, но зато он способен хранить и обрабатывать числа с минимальной потерей точности.
А вообще воспользуйтесь поиском, тут много раз обсуждались проблемы с неточностью чисел с плавающей точкой.