Найти - Пользователи
Полная версия: Вещественные числа без "e"
Начало » Python для новичков » Вещественные числа без "e"
1
Zlib
Доброго времени суток!

Имеется массив 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
Подскажите, как сделать чтобы сокращённая форма вообще не использовалась?
doza_and
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, что для большинства пользователей недопустимо. Вывод данных сделан так как удобно большинству пользователей в условиях непредказуемости величины выводимых чисел..
Zlib
doza_and
Все числа в массиве после округления round(x,7) . Я заметил что если число больше 0.0001000 , то выводит в несокращённом формате, если меньше то с “е”.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB