代碼如下:public?class?mainTest?{
????public?static?void?main(String[]?args)?{
????????????System.out.println(testDouble("10.8"));
????????????System.out.println(testFloat("10.8"));
????????????System.out.println("----------------------");
????????????System.out.println(testDouble("38.8"));
????????????System.out.println(testFloat("38.8"));
????}
????public?static?int?testDouble(String?str){
????????Double?d?=?Double.valueOf(str);
????????return?(int)(d*100);
????}
????public?static?int?testFloat(String?str){
????????Float?f?=?Float.valueOf(str);
????????return?(int)(f*100);
????}
}輸出結果為:1080
1080
----------------------
3879
38803879和3880,之間差了一。我知道是因為精度轉化導致的。但是我想知道具體是為什么。謝謝。
請教一個關于精度轉換的問題(分轉元)。
Its_forever
2016-11-06 17:37:22