Float型和Double混用的結果

2021-05-28 04:52:29 字數 395 閱讀 6956

這個問題是出現在解析excel**中的資料,並儲存在資料庫中出現的

excel單元格中顯示的是4.44,在上面fx函式的框中顯示的是4.4413422121229

在程式中解析到的值是4.44(此時還是string型別的)正常!

將string型別轉換後是

4.44000005722046異常!

原因:在解析excel表時,用的是float型別處理的。而entities類、hibernate配置檔案、資料庫是double型的

換成用double型別處理(將string型別轉換成double型別)後4.44正常!

原來是拷貝了前面做的**,而沒有太注意細節,結果就悲劇了!

float和double型資料算術運算

計算機中儲存數字是用2進製表示的,所有在儲存double型別的資料並不能精確到0.1,所以在用double做操作的時候會因為精度問題出現一些和實際不一樣的結果,如果要求精度很高的話就用bigdecimal來計算,bigdecimal提供了加 減 乘 除的方法,直接呼叫就可以了。如 計算兩個doubl...

double和float的區別

float a 0.1 編譯器報錯 warning c4305 initializing truncation from const double to float 原因 在c c 中 也不知道是不是就在vc 中這樣 上述語句等號右邊0.1,我們以為它是個float,但是編譯器卻把它認為是個doub...

float和double儲存方式

在c c 中float是32位的,double是64位的,兩者在記憶體中的儲存方式和能夠表示的精度均不同,目前c c 編譯器標準都遵照ieee制定的浮點數表示法來進行float,double運算。無論是float還是double,在記憶體中的儲存主要分成三部分,分別是 1 符號位 sign 0代表正...