| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > Неправильно считает ? |
| Автор: admsasha 27.11.2008, 09:49 | ||||
Вот простой код
вывод
Почему так ? И как сделать, чтобы был "0" |
| Автор: amg 27.11.2008, 11:09 |
$a = 0 if abs($a) < 1e-15; |
| Автор: Itsys 27.11.2008, 11:24 | ||
|
| Автор: ginnie 27.11.2008, 13:29 |
Дело в том, что Perl не может любое действительное число представить во встроенном типе данных. Некоторые значения приходится округлять. Из-за округления и получаются такие "странные" результаты. P.S. http://xpoint.ru/know-how/Articles/FloatingPointNumbers http://www.validlab.com/goldberg/paper.pdf |