真善美

          勇于承擔(dān)責(zé)任; 如果你做不到,要提前跟別人說明,不要等到事情發(fā)生后再解釋。

            BlogJava :: 首頁 ::  :: 聯(lián)系 :: 聚合  :: 管理 ::
            55 隨筆 :: 0 文章 :: 29 評論 :: 0 Trackbacks
          先看一程序:
          1 public class FloatPoint {
          2     public static void main(String args[]) {
          3         float f = 0.0f;
          4         for (int i = 0; i < 10; i++) {
          5             f += 0.1f;
          6             System.out.println(f);
          7         }
          8     }
          9 }

          程序輸出結(jié)果:
          0.1
          0.2
          0.3
          0.4
          0.5
          0.6
          0.70000005
          0.8000001
          0.9000001
          1.0000001
          當(dāng)加到第七次時,產(chǎn)生5.0E-8的誤差,十次加完,誤差就是1.0E-7。
          所以在商業(yè)應(yīng)用開發(fā)中,涉及到金額等浮點數(shù)計算時,要控制好誤差的大小。
          如把輸出語句改成
          DecimalFormat df = new DecimalFormat("0.0");
                      System.out.println(df.format(f));
          輸出結(jié)果為:
          0.1
          0.2
          0.3
          0.4
          0.5
          0.6
          0.7
          0.8
          0.9
          1.0
          關(guān)于浮點數(shù)的精確計算,在這里推薦兩篇文章:
          http://blog.csdn.net/sqlxx/archive/2004/09/13/103084.aspx
          http://blog.csdn.net/stevene/archive/2006/01/22/586089.aspx
          第一次開博客,有些工具的用法不是很明白。希望展現(xiàn)效果會好點,請見諒。
          posted on 2007-06-19 14:59 真善美 閱讀(302) 評論(0)  編輯  收藏 所屬分類: Java學(xué)習(xí)
          主站蜘蛛池模板: 岗巴县| 集贤县| 克什克腾旗| 平塘县| 马公市| 高要市| 容城县| 霍林郭勒市| 惠州市| 木里| 瑞安市| 德昌县| 贵州省| 揭阳市| 华宁县| 叶城县| 盖州市| 塘沽区| 巧家县| 六枝特区| 洪湖市| 鸡东县| 马公市| 翁牛特旗| 南江县| 蓝山县| 张北县| 京山县| 伽师县| 石门县| 克拉玛依市| 天水市| 丹凤县| 陈巴尔虎旗| 雷山县| 澄城县| 霸州市| 景谷| 繁峙县| 东明县| 湘潭县|