1. 使用字符串格式化(推薦)
python
運行
num = 1.23e-5 # 科學計數法表示的數值
# 方法1:使用 format 函數,保留足夠的小數位
print("{0:.10f}".format(num)) # 輸出:0.0000123000
# 方法2:使用 f-string(Python 3.6+)
print(f"{num:.10f}") # 輸出:0.0000123000
# 方法3:去除多餘的末尾0(結合 rstrip)
formatted = "{0:.10f}".format(num).rstrip('0').rstrip('.') if '.' in "{0:.10f}".format(num) else "{0:.10f}".format(num)
print(formatted) # 輸出:0.0000123
- 注意:
:.10f中的10表示保留 10 位小數,需根據實際數值範圍調整位數,避免截斷。
2. 使用 decimal 模塊(高精度處理)
python
運行
from decimal import Decimal, getcontext
# 設置精度(保留10位有效數字)
getcontext().prec = 10
num = 1.23e-5
decimal_num = Decimal(str(num)) # 先轉為字符串再實例化,避免精度損失
print(decimal_num) # 輸出:0.0000123
3. 轉換為整數(適用於整數的科學計數)
python
運行
num = 1e6
print(int(num)) # 輸出:1000000
總結
- 簡單場景優先用 字符串格式化(靈活且方便)。
- 高精度場景用
decimal模塊。 - 整數的科學計數直接轉
int。