[英]How to avoid printing scientific notation in python without adding extra digits?
[英]How to avoid Python printing a number with scientific notation?
我知道已經發布了一些像我這樣的問題,但我的情況有點不同。 我想避免使用科學記數法,但我遇到了一個問題:我無法在執行{:.df}
格式化我的輸出,因為在運行腳本之前我不知道位數。 事實上,這個輸出是對輸入進行計算的結果。 這是有人建議我做的事情:
("{:.%df}" % number_of_digits(result[i])).format(result[i])
遺憾的是它不起作用。 這是一段更大的代碼,您可以很好地理解:
result = [n / 1000000**3, n / 100000**3, n / 10000**3, n / 1000**3, n / 100**3, n / 10**3, n]
for i in range(len(volume_units)):
print(str(n) + ' ' + volume_units[choice - 1] + " = " + ("{:.%df}" % number_of_digits(result[i])).format(result[i]) + ' ' + volume_units[i])
這是number_of_digits
函數的代碼:
def number_of_digits(number):
counter = 0
while number > 0:
number //= 10
counter += 1
return counter
非常感謝會回答的人!
你的輸出格式是什么樣的?
就像這樣:輸出格式
length = len(str(abs(your_number)))
format_string = '{:.' + str(length) + 'f}'
print format_string.format(your_number)
您需要針對所需的格式類型和數字變量進行調整。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.