使用POI匯入小數變成浮點數異常

2021-09-07 04:08:55 字數 618 閱讀 9854

例如   我在excel中的資料為17.2, 匯入到表中就變成了17.1999999或者17.20000001

原因是我用double接收了17.2,然後直接用了string去轉換,精度就丟失了。

**如下

double

resultvar;

resultvar =cell.getnumericcellvalue();

cellcontent = string.valueof(resultvar);

經修改使用 

decimalformat df = new decimalformat("#.##########");

即可解決該問題,

**如下

double

resultvar;

decimalformat df = new decimalformat("#.##########");

resultvar =cell.getnumericcellvalue();

//cellcontent = string.valueof(resultvar);

cellcontent = df.format(resultvar);

定點數與浮點數 小數

一 計算機中一共有兩種機器數型別 機器數就是計算機中參與運算的有符號二進位制數,其實,它與我們平時使用的十進位制一樣,有整數也有小數,但是關鍵在於,如果二進位制與我們平時書寫十進位制小數一樣,帶上乙個 那麼二進位制受困於儲存器中字長的限制,無法靈活地表示小數的小數點 所以,二進位制的小數在儲存器中的...

輸出保留12位小數的浮點數

描述 讀入乙個雙精度浮點數,保留12位小數,輸出這個浮點數。輸入 只有一行,乙個雙精度浮點數。輸出 也只有一行,保留12位小數的浮點數。樣例輸入 3.1415926535798932樣例輸出 3.141592653580演算法實現 include include int main 注 f和 lf分別...

C floor函式 截斷浮點數小數部分 轉

在論壇裡看到了乙個人的提問,關於如何截斷浮點數小數部分的問題。我的第一感覺是使用字串處理 呵呵,估計知道floor函式的人都會笑話我了 的確,用c 也算挺久了,竟然不知道c 庫中的floor函式,可以輕易實現這個功能,唉,感慨 就不多說別的了,下面說一下關於floor函式 1 函式原型 1 doub...