首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言 printf 去掉浮點數尾隨零:用 `%g`/`%G` 自動選擇最短科學/定點表示

     編輯:程式設計綜合問答

需求:`1.500000` → `1.5`,`1.0` → `1`,`0.000123000` → `0.000123`。

格式符對比

格式輸出示例說明
`%f``1.500000`固定 6 位小數
`%.2f``1.50`固定 2 位
`%g``1.5`**自動去尾零**,精度默認 6 位有效數字
`%.10g``1.5`最多 10 位有效數字
`%G``1.5`大寫科學計數法(`E` 而非 `e`)

注意事項

  • `%g` 對大數值(≥1e6)自動切換科學計數法:`1234567` → `1.23457e+06`。若不想科學計數法,需手動判斷範圍用 `%f`。
  • 精度指**有效數字**而非小數位。
  • C++ iostream 對應 `std::cout << std::setprecision(6) << std::defaultfloat << value;`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved