官术网_书友最值得收藏!

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>。

主站蜘蛛池模板: 伊春市| 合水县| 曲水县| 昌黎县| 武穴市| 阜康市| 五原县| 惠来县| 正定县| 布拖县| 兴和县| 浦城县| 洛扎县| 客服| 监利县| 临猗县| 辰溪县| 正安县| 门头沟区| 本溪市| 航空| 边坝县| 腾冲县| 德昌县| 漳浦县| 崇明县| 安岳县| 丰都县| 贵港市| 新田县| 当涂县| 平定县| 洛川县| 儋州市| 靖西县| 庆元县| 囊谦县| 麟游县| 绥宁县| 牟定县| 罗山县|