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

2021-03-07 09:46:42 字數 2724 閱讀 4369

1樓:匿名使用者

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 資料型別來處理。

2樓: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。

3樓:匿名使用者

format("%.2f",

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

4樓:蘭魯

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

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

5樓:匿名使用者

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

double型別資料後面的多少位是精確的??

6樓:匿名使用者

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

7樓:匿名使用者

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

8樓:匿名使用者

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

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

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

9樓:匿名使用者

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

10樓:匿名使用者

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

精度要求小數點後20位什麼意思,精確小數點後一位是什麼意思

精度就是這個小數的最小位數,在小數點後的第二十位,不管是後面有多少個零,也得有二十位。小數的位數越多,精度越高。小數點後保留20位數字 精確小數點後一位是什麼意思 指的是有效位數精確到十分位 需要四捨五入 例如4 3如果表示成小數,且精確到小數點後一位,就是1.3,再如5 3精確到小數點後兩位應為1...

物理實驗資料小數點後保留位數問題謝謝了,大神幫忙啊

多次測bai直徑得到資料1.10 1.20 1.20,1.20.算得的算術平均du值 是保留 zhi小dao數點後2位 回 平均絕對誤差答 標準誤差,不確定度不是保留小數點後2位 測量值包括精確值 1位估測值,計算時遵循四捨五入法則,保留到估測值那位 關於物理實驗報告的保留小數位數的問題 保留兩位即...

13化成小數後,小數點後第2019位上的數字是幾這

因為15 13 1.1538261538 所以它是一個迴圈小數,每六個數迴圈 153846 用2012除以6得335餘2 所以第2012位上的數字是5 13分之15化成小數後小數點後第2012位上的數字是幾這2012個數的和是多少 13分之 bai15 15 13 1.153846.迴圈節是1538...