消除C cout 中的科學記數法
處理大數值時,C 的cout 流可以使用科學記數法輸出數字(例如,1.23e 06)。然而,在某些情況下,最好以精確的十進位表示形式顯示數字。以下是實現此目的的方法:
考慮以下計算複利的程式碼:
<code class="cpp">double x = 1500; for (int k = 0; k<10 ; k++) { double t = 0; for (int i = 0; i<12; i++) { t += x * 0.0675; x += x * 0.0675; } cout << "Bas ana: " << x << "\tSon faiz: " << t << "\tSon ana: " << x + t << endl; }</code>
此程式碼以科學計數法產生輸出,如以下摘錄所示:
Bas ana: 1.73709e+006 Son faiz: 943845 Son ana: 2.68094e+006 Bas ana: 3.80397e+006 Son faiz: 2.06688e+006 Son ana: 5.87085e+006
要輸出具有精確十進位表示形式的數字,請使用std::fixed 流操縱器。此操縱器強制 cout 使用定點表示法進行後續數位輸出。修改程式碼如下:
<code class="cpp">cout << fixed << "Bas ana: " << x << "\tSon faiz: " << t << "\tSon ana: " << x + t << endl;</code>
此修改會產生具有精確十進位表示形式的所需輸出:
Bas ana: 1737090 Son faiz: 943845 Son ana: 2680935 Bas ana: 3803970 Son faiz: 2066880 Son ana: 5870850
以上是C cout 顯示大數字時如何消除科學記數法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!