std::cout. precision() 和尾隨零
理解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.5000,但相反,它印出0.5。這種差異是由於原始資料類型是整數的性質而產生的。
解決方案:std::fixed 操縱器
要顯示浮點數的尾隨零,您必須將std::fixed 操縱器傳遞給std::cout 。此操縱器確保十進位表示使用定點表示法,保留尾隨零。
#include <iostream> #include <stdlib.h> #include <iomanip> int main() { int a = 5; int b = 10; std::cout << std::fixed; std::cout << std::setprecision(4); std::cout << (float)a / (float)b << "\n"; return 0; }
使用 std::fixed 操縱器,程式碼現在可以正確列印 0.5000。 std::set precision() 操縱器仍然負責指定所需的小數位數。
以上是為什麼 `std::cout. precision()` 不顯示浮點數的尾隨零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!