Как сделать формат Python плавающим с определенным количеством значимых цифр?

Я хочу, чтобы мои выходные номера Python (2.4.3) имели определенный формат. В частности, если число является конечным десятичным числом с <= 6 значащими цифрами, покажите все это. Однако, если он имеет> 6 значащих цифр, то выводит только 6 значащих цифр.

«A» показывает, как Python пишет поплавки. «B» показывает, как я хочу, чтобы они были написаны. Как я могу сделать Python форматировать мои номера таким образом?

A: 10188469102.605597 5.5657188485 3.539 22.1522612479 0 15.9638450858 0.284024 7.58096703786 24.3469152383 B: 1.01885e+10 5.56572 3.539 22.1523 0 15.9638 0.284024 7.58097 24.3469 

2 Solutions collect form web for “Как сделать формат Python плавающим с определенным количеством значимых цифр?”

Вам понадобится модификатор g для format который уменьшает незначительные нули;

 >>> "{0:.6g}".format(5.5657188485) '5.56572' >>> "{0:.6g}".format(3.539) '3.539' 

Извините, мое обновление также включает в себя тот факт, что я ограничен использованием Python 2.4.3, у которого нет функции format ().

Спецификаторы формата работают даже без функции .format() :

 >>> for i in a: ... print '%.6g' % (i,) ... 1.01885e+10 5.56572 3.539 22.1523 0 15.9638 0.284024 7.58097 24.3469 

попробуйте этот путь

 a=[10188469102.605597,5.5657188485,3.539,22.1522612479,0,15.9638450858,0.284024,7.58096703786,24.3469152383] for i in a: if i >100: print '{:.6e}'.format(i) else: print '{:.6f}'.format(i) 

для более низкой версии python

 for i in a: if i >100: print '%6e'%i else: print '%6f'%i 

вывод

 1.018847e+10 5.565719 3.539000 22.152261 0.000000 15.963845 0.284024 7.580967 24.346915 
  • Каково логическое значение «string» в Python?
  • Префикс поиска с полмиллиарда строк
  • Использование! S vs.: s для форматирования строки в Python
  • TypeError: не может конкатенировать объекты 'str' и 'int'
  • Частоты подсчета Pandas в пределах ряда str
  • Почему «new_file + = строка + строка» намного быстрее, чем «new_file = new_file + line + string»?
  • Что такое чистый способ преобразования процентной ставки строки в float?
  • Подавление обработки строки как iterable
  • Математические операции из строки
  • Добавление десятизначного целого в список объединяет некоторые записи с символом "L"
  • Получить последний столбец после операции .str.split () в столбце в pandas DataFrame
  • Python - лучший язык программирования в мире.