c語言控制位數
『壹』 c語言由輸入時的格式說明來控制數字輸入位數
scanf("%3d");
『貳』 c語言定義浮點型時可以控制定義的數的有效值位數嗎怎麼定義
定義的時候不能控制有效值位數,你可以嘗試在計算完成後對結果c
進行處理,控制c的精度
如下程序可以實現:
但是必須把c定義為
double
否則有誤差:
float
a
=
10,
b
=
3;
float
c;
char
t[4];
float
result;
//double
result;
c
=
a
/
b;
sprintf(t,"%.2f",c);
//將浮點數轉換成字元串
result
=
(float)atof(t);
//result
=
atof(t);//將字元串轉化成浮點數
『叄』 C語言中輸出時怎樣控制小數點後的位數,請舉例說明保
舉例說明如下:
#include <iostream>
#include <iomanip>
using namespace std;
int main( void )
{
const double value = 12.3456789;
cout << value << endl; // 默認以6精度,所以輸出為 12.3457
cout << setprecision(4) << value << endl; // 改成4精度,所以輸出為12.35
cout << setprecision(8) << value << endl; // 改成8精度,所以輸出為12.345679
cout << fixed << setprecision(4) << value << endl; // 加了fixed意味著是固定點方式顯示,所以這里的精度指的是小數位,輸出為12.3457
cout << value << endl; // fixed和setprecision的作用還在,依然顯示12.3457
cout.unsetf( ios::fixed ); // 去掉了fixed,所以精度恢復成整個數值的有效位數,顯示為12.35
cout << value << endl;
cout.precision( 6 ); // 恢復成原來的樣子,輸出為12.3457
cout << value << endl;
}
『肆』 c語言如何控制有效位數
如果你小數點後面長度會變,這個需要自己生成格式符號的
如果小數點後面留一位試試這個%7.1lf
『伍』 C語言如何控制輸出數字的有效位數
在用printf輸出的時候
使用
例
%5.2f
5位,其中兩位小數位,
%-5.2f
左對齊
沒有"-「則是右對齊。。等等
。
『陸』 C語言中輸出時怎樣控制小數點後的位數,請舉例說明
A format specification, which consists of optional and required fields, has
the following form:%[flags]
[width]
[.precision] [{h | l | ll | I | I32 | I64}]type
舉個例子:
printf("%.2f", 12345.6789);則會輸出12345.67,precision就表示輸出小數點後的位數。
『柒』 C語言如何用變數控制小數位數
樓上解法怎麼處理123.456-->123.456000
標准做法是這樣的
說明:小數點「.」後面的「*」表示輸出位數,具體的數據來自參數表。
printf格式字元串中,與寬度控制和精度控制有關的常量都可以換成變數,方法就是使用一個「*」代替那個常量,然後在後面提供變數給「*」。
例子
#include<stdio.h>
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%.*lf\n",c,a*1.0/b);
return 0;
}