亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C++編程中setprecision(0)什么意思?

C++編程中setprecision(0)什么意思?

C++
慕桂英546537 2018-07-29 21:21:01
查看完整描述

2 回答

?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

使用setprecision(n)可控制輸出流顯示浮點數的數字個數。C++默認的流輸出數值有效位是6。
如果setprecision(n)與setiosflags(ios::fixed)合用,可以控制小數點右邊的數字個數。setiosflags(ios::fixed)是用定點方式表示實數。
如果與setiosnags(ios::scientific)合用, 可以控制指數表示法的小數位數。setiosflags(ios::scientific)是用指數方式表示實數。
例如,下面的代碼分別用浮點、定點和指數方式表示一個實數:

//*********************
//** ch2_1.cpp **
//*********************

#include <iostream.h>
#include <iomanip.h> //要用到格式控制符

void main()
{
double amount = 22.0/7;
cout <<amount <<endl;
cout <<setprecision(0) <<amount <<endl
<<setprecision(1) <<amount <<endl
<<setprecision(2) <<amount <<endl
<<setprecision(3) <<amount <<endl
<<setprecision(4) <<amount <<endl;

cout <<setiosflags(ios::fixed);
cout <<setprecision(8) <<amount <<endl;

cout <<setiosflags(ios::scientific)

<<amount <<endl;

cout <<setprecision(6); //重新設置成原默認設置
}

運行結果為:
3.14286
3
3
3.1
3.14
3.143
3.14285714
3.14285714e+00

該程序在32位機器上運行通過。
在用浮點表示的輸出中,setprecision(n)表示有效位數。
第1行輸出數值之前沒有設置有效位數,所以用流的有效位數默認設置值6:第2個輸出設置了有效位數0,C++最小的有效位數為1,所以作為有效位數設置為1來看待:第3~6行輸出按設置的有效位數輸出。
在用定點表示的輸出中,setprecision(n)表示小數位數。
第7行輸出是與setiosflags(ios::fixed)合用。所以setprecision(8)設置的是小數點后面的位數,而非全部數字個數。
在用指數形式輸出時,setprecision(n)表示小數位數。
第8行輸出用setiosflags(ios::scientific)來表示指數表示的輸出形式。其有效位數沿用上次的設置值8

查看完整回答
反對 回復 2018-08-01
?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

setprecision(n)用于控制輸出流顯示浮點數的數字個數。C++默認的流輸出數值有效位是6。

查看完整回答
反對 回復 2018-08-01
  • 2 回答
  • 0 關注
  • 1197 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號