The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск Python-библиотеки для научных вычислений NumPy 1.17.0"
Отправлено n80, 30-Июл-19 15:03 
> Питономатики, подскажите пожалуйста как это полечить:
> $ python3
> Python 3.6.8 (default, Jan 14 2019, 11:02:34)
> [GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
> Type "help", "copyright", "credits" or "license" for more information.
>>>> 148.7-48.7
> 99.99999999999999

Добро пожаловать в увлекательный мир чисел с плавающей точкой. Это нормальное поведение для float/double, в C то же самое, даже в железе так (в смысле, двоичные дроби под капотом, в которые не любые десятичные переводятся точно).

Если хочется работать именно с десятичными дробями вместо двоичных - есть модуль decimal в стандартной библиотеке.
А если просто вывод не нравится - есть функция round или указание ширины вывода (как в C!):

In [1]: a = 148.7
In [2]: b = 48.7
In [3]: a - b
Out[3]: 99.99999999999999

In [4]: round(a - b, 2)
Out[4]: 100.0

In [5]: round(a - b, 3)
Out[5]: 100.0

In [6]: '%.2f' % (a - b)
Out[6]: '100.00'

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру