c語言中如何處理才能讓double精確顯示15位多餘的

2021-03-22 08:33:04 字數 5910 閱讀 2965

1樓:囊中無忌

%.15lf

使用上面的格式輸出就行了,整數部分不變,小數部分輸出15位

c語言,將double資料輸出時,如何去掉小數位多餘的0?

2樓:匿名使用者

printf("%g\n", a ); //這樣試一下,是不是你想要的

3樓:匿名使用者

double a = 1.001;

printf("%lf",a);//會輸出1.001000,怎樣才能輸出1.001

通過在%與lf之間加上.d(此處的d為十進位制正整數)來控制輸出小數的位數,以此來控制輸出資料的精度,

比如:%.3lf表示輸出的資料有3位小數

%.5lf表示輸出的資料有5位小數

%lf預設輸出6位小數 ,所以本來a=1.001,結果輸出1.001000

4樓:不能說的_祕密

可以用%2.3lf,點3代表著小數為保留3位,前面的2可以隨便。

5樓:於是我呵呵

printf("%.3lf", a);

c語言中double要輸出幾位小數?

6樓:去問驅蚊器

c語言中double預設輸出 6 位小數。

如果要控制輸出小數位數,可以格式化輸出。

printf("%.3lf ", d);   // "%.3lf"  .3 則是輸出 3 位小數。

printf("%.4lf ", d);   // "%.4lf"  .4 則是輸出 4 位小數 。

c語言兼顧了高階語言的組合語言的優點,相較於其它程式語言具有較大優勢。計算機系統設計以及應用程式編寫是c語言應用的兩大領域。同時,c語言的普適較強,在許多計算機作業系統中都能夠得到適用,且效率顯著。

擴充套件資料:

特點1、簡潔的語言

c語言包含有各種控制語句僅有9種,關鍵字也只有32 個,程式的編寫要求不嚴格且多以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且c語言本身不提供與硬體相關的輸入輸出、檔案管理等功能。

2、具有結構化的控制語句

c語言是一種結構化的語言,提供的控制語句具有結構化特徵,如for語句、if⋯else語句和switch語句等。可以用於實現函式的邏輯控制,方便麵向過程的程式設計。

3、豐富的資料型別

c語言包含的資料型別廣泛,不僅包含有傳統的字元型、整型、浮點型、陣列型別等資料型別,還具有其他程式語言所不具備的資料型別,其中以指標型別資料使用最為靈活,可以通過程式設計對各種資料結構進行計算。

4、豐富的運算子

c語言包含34個運算子,它將賦值、括號等均視作運算子來操作,使c程式的表示式型別和運算子型別均非常豐富。

5、可對實體地址進行直接操作

c語言允許對硬體記憶體地址進行直接讀寫,以此可以實現組合語言的主要功能,並可直接操作硬體。c語言不但具備高階語言所具有的良好特性,又包含了許多低階語言的優勢,故在系統軟體程式設計領域有著廣泛的應用。

6、**具有較好的可移植性

c語言是程序導向的程式語言,使用者只需要關注所被解決問題的本身,而不需要花費過多的精力去了解相關硬體,且針對不同的硬體環境,在用c語言實現相同功能時的**基本一致,不需或僅需進行少量改動便可完成移植。

7、可生成的高質量目標**,高執行效率的程式

與其他高階語言相比,c語言可以生成高質量和高效率的目標**,故通常應用於對**質量和執行效率要求較高的嵌入式系統程式的編寫。

7樓:會飛的小兔子

在c語言裡面double預設輸出6位小數。

double佔8個位元組(64位)記憶體空間,最多可提供16位有效數字,小數點後預設保留6位。如全是整數,最多提供15位有效數字。

例如:doublea=1;

printf("%lf\n",a);

輸出會是

1.000000

擴充套件資料c 語言輸出雙精度(double)數,使用printf()與%e輸出雙精度數:

#include

intmain()

輸出結果:

d的值為1.200123e+01

8樓:我是果瘋

c語言中double預設輸出 6 位小數(不足六位以 0 補齊,超過六位按四捨五入截斷),可以根據自己的需要去修改輸出的位數,例如輸出兩位小數:(%2lf)。

double可以表示十進位制的15或16位有效數字。

擴充套件資料:

double負值取值範圍為 -1.7976e+308 到 -4.94065645841246544e-324,正值取值範圍為 4.

94065645841246544e-324 到 1.797693e+308。

浮點型別:

1,單精度浮點型:float

2,雙精度浮點型:double

3,複數浮點型:float_***lex,double_***ple, long long_***ple

浮點型資料:

1,loat型

編譯系統為每一個float型變數分配4個位元組,數值以規範化的二進位制數指數形式存放在儲存單元中。

2,double型

為了擴大能表示的數值範圍,用8個位元組儲存一個double型資料,可以得到15位有效數字。

3,long double型

不同的編譯系統對long double型的處理方法不同,visual c++6.0對long double型和double一樣處理,分配8個位元組。

9樓:匿名使用者

預設6位,不過可以通過程式控制為想要的位數;如:printf("%12.15lf\n",x);表示輸出佔12格的小數位數為15為的x的值;printf("%.

8lf\n",x);表示輸出小數位數為8為的x的值。

10樓:匿名使用者

32位環境下剛幫你測了下

float小數點後有效精度6位

double小數點後有效精度16位置

11樓:匿名使用者

在沒有設定長輸出的情況下,預設六位,其輸出有效數字為九位。

12樓:匿名使用者

預設是6位,也可以自己設定。

13樓:擦肩的陽光

15位,float 6位

c語言裡,double型別的資料可以精確到小數點後幾位?

14樓:匿名使用者

"%lf"預設只顯示6位小數,如果想顯示更多請指定:例如"%0.16lf"

精度位不夠自動四捨五入,沒辦法去掉。只有增加精度顯示

15樓:匿名使用者

十進位制的15或16位有效數字,因此精確到小數點後最多有15或16位。

16樓:匿名使用者

這個我記得跟系統的位數有關吧,還有你是以lf 的格式列印出來的,這2個一樣嗎?

dev-c+ 怎麼讓c語言中double顯示15位她只預設為六位

17樓:匿名使用者

c格式:printf("%.15lf", 1.23 );

c++: cout <

c語言中如何用實驗的方法確定double型浮點數能精確到多少位小數?

18樓:匿名使用者

#include"stdio.h"

int main()

19樓:林小兀

根據列印的結果我們可以

判斷位數的,如果超過一定位數,顯示的就是錯誤的了,這樣可以看出double的精確度 。例子程式如下:

#include"stdio.h"

int main()

20樓:天雲一號

可以通過定義一個double型的變數,並對變數進行賦值,之後輸出該變數的值即可。

下面舉例來具體說明:

double f = 3.141592653589;

printf("%lf", f);

實驗結果輸出3.141593,說明double型能精確到小數點後6位。

注:該測試是在32位計算機中的vs2010環境下執行的,具體的精確度還要考慮計算機的位數與編譯環境。

21樓:匿名使用者

最簡單的 1÷3= 數一下有多少位小數

22樓:茅浩宕井妮

轉換型別有這個語句的,比如我設個floatx 如果我想把這個變數轉換成double

就可以這樣寫

(double*)x

公式為(要轉換的型別*)變數,記住就可以了,以後什麼都能轉換,這叫強制轉換

用c語言浮點輸出時,如何讓小數點後沒用的0不顯示。

23樓:匿名使用者

用%g格式符就可以了

例如:float f=3.14;printf("%g",f);

24樓:匿名使用者

printf("%.0lf", 2.344); //輸出為2 double型別

printf("%.0f", 2.344); //同上. float型別

c語言怎麼輸出15有效數字的double型資料

25樓:匿名使用者

double型別的有效數字,指的是小數部分的精確值。

在c語言中,double可以表示15位的有效數字,但是如果存在double型別的變數d,用printf輸出最基礎的格式為

printf("%lf", d);

但是c語言預設輸出只有6位小數,即6位有效數字。

要擴大有效數字的長度,可以採用

%.nlf的格式,其中n為常數,為有效數字的長度。

要輸出15位,可以使用

printf("%.15lf", d);

26樓:匿名使用者

#include

#include

using namespace std;

int main()

27樓:匿名使用者

printf("%.15f",5.0/3.0);

"%.15f"表示小數點後面著15位

c語言程式設計中怎麼自動去掉浮點數小數點後沒用的0。

28樓:會飛的小兔子

#include

int main()

擴充套件資料

c語言浮點數

浮點數的值等於尾數乘以 2^x。讀者應該注意,上圖是二進位制分數,因此 0.1表示 1/2。

為了方便理解,我們可以將其與十進位制的小數對應起來:十進位制的 0.1 等於 1*10^-1,所以二進位制的 0.

1 等於1*2^-1,也即 1/2。

「尾數+指數」模式儲存浮點數可能有一點問題,例如:2x10^-1=0.2x10^0=0.

02x10^1,依此類推。同樣一個數字可能有多種「尾數+指數」的表示方法,而同時兼顧多種表示方法勢必會造成巨大的浪費。

29樓:匿名使用者

可以通過%.xf或者%.xlf來限制,其中x是一個整數;

如果保留一位小數x 為1,兩位為2;

以此類推;

注意%.xf的x的值不能大於7,由於float型別的精確度只有小數點後7位;

%.xlf的x的值不能大於15,double型別的精確度只有小數點後15為;

通過限制小數點的位數,去掉多餘的0;。

c語言中如何定義陣列C語言中如何定義陣列

c語言中,同變數一樣 陣列也必須先定義後使用。一維陣列的定義形式 型別識別符號 陣列名 常量表示式 例如int a 10 其中a為地址常量。如變數的定義一樣,int a double a float a等 陣列的定義只是把後面的變數名改為陣列名而已。int a 10 就是定義了一個陣列名為a的陣列 ...

c語言中》和《如何使用C語言中和如何使用?

c語言中 代表左移運算子,代表右移運算子,位移位運算子是將資料看成二進位制數,對其進行向左或向右移動若干位的運算。代表左移運算子 左移運算子用來將一個數的各二進位制位全部左移若干位,移動的位數由右運算元指定,右運算元必須是非負值,其右邊空出的位用0填補,高位左移溢位則捨棄該高位。例如 設無符號短整型...

c語言中如何程式設計計算階乘,C語言中如何程式設計計算階乘

常見bai的有兩種 du 遞迴版本 zhi int fac int n 還有一dao種是迴圈版 int ans 1 for int i 1 i n i ans i 測試方法 include int fac int n int main return 0 有個值得注意內的地方 階乘時,容數增大的很快,...