型別資料後面的多少位是精確的,double型別,小數點後的位數

2021-04-17 12:45:06 字數 3029 閱讀 8422

1樓:匿名使用者

1、那一位都不一定是精確的,看使用它時怎麼處理。

2、duble底層是二進位制浮點數,眾回所周知,10進製小數有些是答無法精準轉換成二進位製小擻的,比如10進製0.3,無法轉換成二進位制浮點數0.3,只能轉換成0.

29999999....,這裡那一位是精確的?沒有一位是精確的,當然我們會有辦法把它處理成0.

3。3、double(雙精度浮點數)使用 64 位(8位元組) 來儲存乙個浮點數。 它可以表示十進位制的15或16位有效數字,負值取值範圍為 -1.7976e+308 到 -4.

94065645841246544e-324,正值取值範圍為 4.94065645841246544e-324 到 1.797693e+308

2樓:匿名使用者

那個說6位的是float的。。double是雙精度浮點型,應該是14位。。嘿嘿。。

3樓:匿名使用者

double(雙精bai度浮點型)變數儲存為du ieee 64 位(8 個位元組zhi)浮點數值的形式,dao它的範圍在負數的時候是從專 -1.79769313486232e308 到 -4.94065645841247e-324,而正數屬的時候是從 4.

94065645841247e-324 到 1.79769313486232e308。double 的型別宣告字元是數字符號 (#)。

但是說準確的話一般只有15位。

4樓:匿名使用者

15位6位的那位兄台是說單精度

5樓:匿名使用者

是6位是精確的 預設格式輸出浮點數時, 最多隻保留小數點後六位。

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

6樓:匿名使用者

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

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

7樓:匿名使用者

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

8樓:匿名使用者

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

double型別,小數點後的位數

9樓:匿名使用者

double型別是雙精度浮點數,占用8位元組(byte)即64位(bit),其精度是由32個bit的二進位制尾數來確定的,因此準確精度是二進位制精度而不是十進位制精度,通常可以保證十進位制小數點後15位有效精度和第16位的部分精度。

通過格式化方法輸出double型別,可以控制小數點後的顯示位數:astr.format("%.

2f",a);在百分號後面加上.x 就是指定小數點後的顯示位數。注意這種方法不是四捨五入,而是截斷顯示,1.

239會顯示為1.23;

如果需要四捨五入,在c/c++中沒有專門的函式,你可以這樣實現:astr.format("%.2f",a+0.005);再捨去位加上5,再截斷的時候就等於是四捨五入了。

拓展資料:

visual basic 支援幾種 numeric 資料型別— integer(整型)、long(長整型)、single(單精度浮點型)、double(雙精度浮點型)和 currency(貨幣型)。與 variant 型別相比,numeric 型別占用的儲存空間通常要少。

如果知道變數總是存放整數(如 12 )而不是帶小數點的數字(如 3.57),就應當將它宣告為 integer 型別或 long 型別。整數的運算速度較快,而且比其它資料型別佔據的記憶體要少。

在 for...next 迴圈內作為計數器變數使用時,整數型別尤為有用。

如果變數包含小數,則可將它們宣告為 single、double 或 currency 變數。currency 資料型別支援小數點右面 4 位和小數點左面 15 位;它是乙個精確的定點資料型別,適用於貨幣計算。浮點(single 和 double)數比 currency 的有效範圍大得多,但有可能產生小的進製誤差。

浮點數值可表示為 mmmeeee 或 mmmdeee ,其中 mmm 是假數,而 eee 是指數(以 10 為底的冪)。single 資料型別的最大正數值為 3.402823e+38,或 3.

4 乘以 10 的 38 次方;double 資料型別的最大正數值是 1.79769313486232d+308 或 1.8 乘以 10 的 308 次方。

用 d 將數值文字中的假數部分和指數部分隔開,就會導致將該值作為 double 資料型別來處理。同樣,用這種方式使用 e,也會導致將該值作為 single 資料型別來處理。

10樓:2c1忘乎所以

cstring astr;

double a=1234.567890;

astr.format("%2f",a);

setdlgitemtext(idc_a,astr);

將輸出改為%2lf,即保留小數點後兩位

雙精度浮點型,此資料型別與單精度資料型別(float)相似,但精確度比float高,編譯時所佔的記憶體空間依不同的編譯器而有所不同,是double float資料型別,c/c++中表示實型變數的一種變數型別。

此資料型別與單精度資料型別(float)相似,但精確度比float高,編譯時所佔的記憶體空間依不同的編譯器而有所不同,通常情況,單精度浮點數佔4位元組(32位)記憶體空間,其數值範圍為-3.4e38~3.4e+38,;雙精度型佔8 個位元組(64位)記憶體空間,其數值範圍為-1.

7e308~+1.7e308。

11樓:匿名使用者

format("%.2f",

這樣試一下,如果不能四捨五入你就只能找其他庫函式了

12樓:蘭魯

把astr.format("%f",a);

換成astr.format("%.2f",a); 保留兩位小數就行了

13樓:匿名使用者

printf("%.2f",a+0.005); //這就是保留兩位小數的四捨五入

我知道A是資料庫的表字段,AS後面的是什麼AS在這

這是別名的意思,就是用乙個欄位名代替前面的值 sql語句中as的作用?這是乙個建立檢視的語句,as其實我也不懂什麼意思,就只是看著用,你會發現後專面學的儲存過程屬也有這樣的字眼,給你看乙個建立儲存過程的例子,我也沒明白是為啥create proc proc sample id int asselec...

圓周率的前40位是多少最精確的圓周率是多少?

圓周率的前40位是3.1415926535 8979323846 2643383279 502884197。圓周率是圓的周長與直徑的比值,一般用希臘字母 表示,是乙個在數學及物理學中普遍存在的數學常數。圓周率是乙個無理數,即無限不迴圈小數。是個無理數,即不可表達成兩個整數之比,是由瑞士科學家約翰 海...

19的個位上是9十位上是幾的數它後面的數是多少

十位上是1.依次數,後面的數是 2 3 4 5 6.數學 理工學科 學習 用逆推法 先去分母,兩邊同乘4 1 x 1 y 1 z 又因為x y z 1得4 12xzy 8zy 8xz 8xy 6 3zy 3xy 3zx 6zxy 6zxy 5zy 5xz 5xy 2 又因為x,y,z是正數,x y ...