C 如何儲存double資料以至於不損失精度

2022-08-22 03:11:51 字數 1921 閱讀 4091

1樓:陽光的雷咩咩

c#double的有效位數(也就是不管整數部分還是小數部分加起來的位數)是15位,因此你後面再手工加多少位都是沒用的,.net內部就不會給你保留!

c#問題~怎麼控制double型別浮點後的精度??

2樓:匿名使用者

double 型別只能夠保證整體資料的精度,也就是有效數字不能夠單單保證小數點後面的位數

如果你小數點前面的位數已經超過了精度,後面的資料自然都不可靠但是你可以保留三位小數輸出,看看printf語句描述吧

3樓:

我舉個例子把

double d = 2.34567;

console.writeline("", d);

c#怎麼把double 存成兩位精度小數

4樓:師爺智商不夠用

如果有小數點,使用indexof判斷小數點位置,然後根據字串總長度,如123.45,得到小數點位置為3,總長度為6,那麼就得到的結果就是6-1-3=2,得到結論,如果小數點位置在a,總長度為b,那麼結果就是b-1-a

c# double型別數值怎樣獲得是精確到多少位小數(求精度)

5樓:匿名使用者

轉換成字串,判斷小數點位置

首先判斷是否有小數點,如果沒有,得到結果0如果有小數點,使用indexof判斷小數點位置,然後根據字串總長度,如123.45,得到小數點位置為3,總長度為6,那麼就得到的結果就是6-1-3=2,得到結論,如果小數點位置在a,總長度為b,那麼結果就是b-1-a

private int getvalue(string value) else }

看不懂再問

6樓:84許

需求是什麼,比如 double a = 0.000 是怎麼產生的

如果是輸入的字串,可以通過 string aa = "0.000" 獲取精度

再轉成double計算,捨入先前的精度獲得需要的結果

7樓:小小小饅頭仔

double d = 4.589;

int precission = 0;

string strarr = d.tostring().split('.');//分開整數與小數部分

if (strarr.getlength(0) == 2)else

precission = 0;

8樓:tn瓶邪

1)float f = 321.12345f;

f.tostring("0.00");

這樣做無論f是不是整數,都將加上2位小數。

2)float f = 321.12345f;

f.tostring(".##");

這樣做最多顯示2位小數

9樓:流浪時的思念

double num = 0.11;

var pos = num.tostring().indexof('.');

var len = num.tostring().length - pos-1;

如果沒有小數的話還需要根據pos判斷一下。

10樓:

double pi = 3.14159265;

long intpart = (long)pi; //3double fractionalpart = pi - intpart; //0.14159265000000021

fractionalpart獲取這個的length

11樓:匿名使用者

a.tostring("0.00")

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

lf 預設只顯示6位小數,如果想顯示更多請指定 例如 0.16lf 精度位不夠自動四捨五入,沒辦法去掉。只有增加精度顯示 十進位制的15或16位有效數字,因此精確到小數點後最多有15或16位。這個我記得跟系統的位數有關吧,還有你是以lf 的格式列印出來的,這2個一樣嗎?c語言中如何用實驗的方法確定d...

C資料庫儲存問題,列表框資料無法儲存到資料庫

進行迴圈看listbox一共有多少行然後在一行行輸出 for int i 0 i this.listview result.items.count 1 i 你除錯下看看listbox提交時的值是什麼 c 怎麼把列表框內的全部資料儲存到資料庫啊 版本 2 支援庫 iext 區域性變數 變數,整數型 計...

如何將在c語言中生成的資料儲存到文字檔案中

主要通過fprintf格式化輸出函式實現,主要 如下,程式功能,將10 12.345000 testinfo 寫入test.txt檔案 include int main int argc,char argv fprintf pf,d f s n m,f,str 寫入,test.txt檔案內容為10 ...