std::cout. precision() 是用來控制顯示的小數位數的函數對於浮點數值。但是,在某些情況下,尾隨零可能不會如預期列印。
請考慮以下程式碼片段:
#include <iostream> #include <stdlib.h> int main() { int a = 5; int b = 10; std::cout.precision(4); std::cout << (float)a / (float)b << "\n"; return 0; }
此程式碼列印 0.5,而不是預期的 0.5000。這不是由於原始整數資料類型所致,而是由於預設缺乏尾隨零抑制。
要正確顯示尾隨零,必須使用 std::fixed 操縱器:
std::cout << std::fixed; std::cout << std::setprecision(4); std::cout << (float)a / (float)b << "\n";
新增此內容後,程式碼現在將按預期輸出 0.5000。 std::fixed 操縱器指定浮點數值應為固定小數位數的格式,確保保留尾隨零。
以上是為什麼 `std::cout. precision()` 預設不印尾隨零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!