Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 20, 2020 22:10:47

Zlib
Зарегистрирован: 2020-01-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Вещественные числа без "e"

Доброго времени суток!

Имеется массив NumPy (float64) заполненный вещественными числами с точностью до 7го знака после запятой.
Если этот массив вывести на печать, то часть чисел выведется полностью (все семь разрядов после запятой), а часть в сокращённой форме. Также будет если передавать значение во вне, преобразуя в строку.
Пример:

9.09e-05__________9.31e-05
9.32e-05__________9.54e-05
9.55e-05__________9.77e-05
9.78e-05__________0.0001
0.0001001__________0.0001023
0.0001024__________0.0001046
Подскажите, как сделать чтобы сокращённая форма вообще не использовалась?

Офлайн

#2 Янв. 21, 2020 07:14:00

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Вещественные числа без "e"

Zlib
то часть чисел выведется полностью (все семь
float64 всегда задает примерно 15 значащих цифр. Ожидать меньшее число знаков после вычислений не приходится. Фактически никаких разрядов там нет см. https://en.wikipedia.org/wiki/IEEE_754
представление определяется форматированием https://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html см. fmt
Конкретно в вашем случае вывода на консоль думаю надо пересобрать numpy поправив место отвечающее за строковое представление. При этом вы получите версию очень странно выводящие числа типа 1e300 или 1e-300, что для большинства пользователей недопустимо. Вывод данных сделан так как удобно большинству пользователей в условиях непредказуемости величины выводимых чисел..



Отредактировано doza_and (Янв. 21, 2020 07:21:14)

Офлайн

#3 Янв. 21, 2020 08:48:00

Zlib
Зарегистрирован: 2020-01-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Вещественные числа без "e"

doza_and
Все числа в массиве после округления round(x,7) . Я заметил что если число больше 0.0001000 , то выводит в несокращённом формате, если меньше то с “е”.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version