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 模塊(高精度處理)

對於需要精確控制小數位數的場景(如金融計算),可使用 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. 轉換為整數(適用於整數的科學計數)

如果數值本質是整數(如 1e6 即 1000000),可直接轉換為 int

python

運行

num = 1e6
print(int(num))  # 輸出:1000000

總結

  • 簡單場景優先用 字符串格式化(靈活且方便)。
  • 高精度場景用 decimal 模塊
  • 整數的科學計數直接轉 int