Эти три номера 1.2, 0.0034, 56000
все имеют одну общую черту: две цифры точность. Допустим, я хочу сообщить расчетную полосу пропускания нескольких очень разных устройств, которые колеблются от килобайт в секунду до гигабайт в секунду, все из которых варьируются до% 10. Самый простой способ для моих читателей, чтобы быстро понять результаты для меня, чтобы преобразовать все к общему блоку (скажем, МБ/с), выстраиваются десятичной точки,номера печати с постоянной или фиксированной точностью
1.2 0.0034 56000
и избежать печати лишних цифр ; если мои вычисленные значения равны 1.193225, 0.00344791 и 56188.5622, то моим читателям нужно только увидеть выше - остальное - шум. Несмотря на широкие возможности форматирования чисел с плавающей точкой, Python, похоже, не имеет чистого способа печати чисел с фиксированной точностью. Какой был бы лучший способ сделать это?
Примечание по оценке этого вопроса: я выберу лучший (то есть простой, понятный, элегантный) ответ на первый ответ. Не надо спешить.
Вы можете напечатать их в научной нотации, используя формат ''..%. ''. Также должен быть некоторый родственный вопрос о [«читаемых человеком номерах»] (http://stackoverflow.com/search?q=python+human+readable+numbers). –
Научная нотация требует, чтобы читатели понимали часть «e» и признавали, что 1e99 безумно больше 1e13. Он не показывает, сколько порядков величины отличаются. – duanev
Вы выводите в режиме реального времени или сначала получаете все данные? –