- 青少年信息學(xué)競(jìng)賽
- 劉洪主編
- 381字
- 2023-07-17 20:29:29
1.2.3 浮點(diǎn)數(shù)運(yùn)算
如果參與運(yùn)算的數(shù)字有小數(shù)部分,就需要使用浮點(diǎn)數(shù)類(lèi)型。
【例1-8】4個(gè)工人2天鋪了60米的公路,按照這個(gè)工作進(jìn)度,12個(gè)工人3天能鋪多少米的公路?
【分析】先求1個(gè)工人1天能鋪多少米的公路,即60/2/4=7.5米,再求12個(gè)工人3天能完成的工作量:7.5*12*3=270米。
#include <iostream> using namespace std; int main() { cout << "12個(gè)工人3天能鋪"; cout << 60.0/2/4*12*3 << "米"; return 0; }
在這個(gè)程序中,如果把60.0寫(xiě)為60,得到的結(jié)果會(huì)不一樣。
表達(dá)式60.0/2/4*12*3中,60.0/2的結(jié)果是30.0,60/2的結(jié)果也是30。
在第二步計(jì)算中:30.0/4的結(jié)果是7.5,而30/4的結(jié)果是7,這就是浮點(diǎn)數(shù)運(yùn)算與整數(shù)運(yùn)算的不同結(jié)果。
如果需要限定輸出的浮點(diǎn)數(shù)小數(shù)點(diǎn)后的位數(shù),就需要使用格式化輸出功能。
【例1-9】指定浮點(diǎn)數(shù)的顯示精度。
#include <iostream> #include <iomanip> using namespace std; int main() { //默認(rèn)格式 cout << "10.0/6.0=" << 10.0 / 6.0 << endl; cout << "10.0/5=" << 10.0 / 5 << endl; //設(shè)置:保留小數(shù)點(diǎn)后位數(shù) cout << fixed << setprecision(2); cout << "10.0/6.0=" << 10.0 / 6.0 << endl; cout << setprecision(4); cout << "1000.0/6.0=" << 1000.0 / 6.0 << endl; cout << "10.0/6.0=" << 10.0 / 6.0 << endl; return 0; }
運(yùn)行結(jié)果如下:
10.0/6.0=1.66667 10.0/5=2 10.0/6.0=1.67 1000.0/6.0=166.6667 10.0/6.0=1.6667
程序中的fixed << setprecision(2)是格式函數(shù),作用是讓后續(xù)輸出的實(shí)數(shù)保留小數(shù)點(diǎn)后2位。
再次調(diào)整小數(shù)點(diǎn)后的保留位數(shù)時(shí),只需要調(diào)用setprecision(4)函數(shù)即可。
使用這個(gè)功能,需要注意,必須在頭文件中引入#include <iomanip>。
推薦閱讀
- Boost程序庫(kù)完全開(kāi)發(fā)指南:深入C++”準(zhǔn)”標(biāo)準(zhǔn)庫(kù)(第5版)
- Learning Selenium Testing Tools with Python
- HTML5 移動(dòng)Web開(kāi)發(fā)從入門(mén)到精通(微課精編版)
- Apache Spark 2 for Beginners
- Mastering Rust
- Troubleshooting Citrix XenApp?
- QGIS 2 Cookbook
- Java并發(fā)編程:核心方法與框架
- 從程序員角度學(xué)習(xí)數(shù)據(jù)庫(kù)技術(shù)(藍(lán)橋杯軟件大賽培訓(xùn)教材-Java方向)
- Backbone.js Testing
- Advanced Python Programming
- Hack與HHVM權(quán)威指南
- 從零開(kāi)始:C語(yǔ)言快速入門(mén)教程
- Three.js權(quán)威指南:在網(wǎng)頁(yè)上創(chuàng)建3D圖形和動(dòng)畫(huà)的方法與實(shí)踐(原書(shū)第4版)
- 產(chǎn)品架構(gòu)評(píng)估原理與方法