<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    新的起點 新的開始

    快樂生活 !

    銀行在線轉賬系統中竟然有這樣的Bug 而長達4年沒有人發現,看看大家能不能找出問題?一天過去了 沒有正解,今天說說正確答案

           最近忙于Fix Bug, 在某系統中發現一個Bug,而這個Bug竟然從2004年就存在!! 有這么一個Scenerio:
     周期性轉賬,計算需要轉賬次數 eg: 200 每次20 那么 轉賬次數=10    239 每次轉 23.9 
    轉賬次數=10

    代碼1:

    float  sumTranferAmount;
    float  perTransferAmount;
    transactionCount = (int)Math.ceil((Math.round((sumTRanferAmount/perTransferAmount)*100.0/ 100.0))

    代碼2:

            float sumTranferAmount;
            
    float perTransferAmount;
            
    int transactionCount = (int)(sumTranferAmount / perTransferAmount);
            
    if ( (sumTranferAmount%  (perTransferAmount!= 0){
                transactionCount
    ++;
     
            }

    這兩段代碼那個正確呢? 大家不要測試,看能不能找出問題?

    其實這兩個代碼都是錯誤的。
    代碼1不要說,錯到十萬八千里了。對于代碼2,其實在取余運算出現了問題。取余運算前提是這兩個數不是小數(金額都是保留兩位小數)。
    只要讓sumTranferAmount
    *100%pertransferAmount*100 就正確了。

    posted on 2009-04-10 15:01 advincenting 閱讀(2855) 評論(5)  編輯  收藏

    評論

    # re: 一個在線交易系統中竟然有這樣的Bug 而長達4年沒有人發現,看看大家能不能不測試找出問題? 2009-04-10 16:11 lveyo

    JAVA里好像處理金額的計算最好不要用float,double這樣的簡單數據類型  回復  更多評論   

    # re: 一個在線交易系統中竟然有這樣的Bug 而長達4年沒有人發現,看看大家能不能不測試找出問題? 2009-04-10 16:13 advincenting

    其實這兩個都不對 呵呵!  回復  更多評論   

    # re: 銀行在線轉賬系統中竟然有這樣的Bug 而長達4年沒有人發現,看看大家能不能找出問題? 2009-04-10 23:30 MyYate

    呵呵,第一個肯定是錯的,我看了一下,如果有239元,我每次轉238元,應該需要轉兩次。
    第二個不清楚,不過如果我不考慮實際情況,每次轉238.999999元,transactionCount =1,所以也是錯的。
    float,double計算就是這點不好。  回復  更多評論   

    # re: 銀行在線轉賬系統中竟然有這樣的Bug 而長達4年沒有人發現,看看大家能不能找出問題? 2009-04-12 11:01 程吉

    不是有可以解決不能精確計算的float和double類型的類么???
    不能用?  回復  更多評論   

    # re: 銀行在線轉賬系統中竟然有這樣的Bug 而長達4年沒有人發現,看看大家能不能找出問題?一天過去了 沒有正解,今天說說正確答案 2009-04-15 12:12 origo

    建議采用BigDecimal,或者用Double。在Float之間的除運算會出現差錯,貌似會在.000級別出現誤差。  回復  更多評論   


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    公告

    Locations of visitors to this pageBlogJava
  • 首頁
  • 新隨筆
  • 聯系
  • 聚合
  • 管理
  • <2009年4月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    統計

    常用鏈接

    留言簿(13)

    隨筆分類(71)

    隨筆檔案(179)

    文章檔案(13)

    新聞分類

    IT人的英語學習網站

    JAVA站點

    優秀個人博客鏈接

    官網學習站點

    生活工作站點

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产精品亚洲综合| 久久久婷婷五月亚洲97号色| 亚洲AV无码专区在线观看成人| 亚洲一本一道一区二区三区| h片在线播放免费高清| 四虎影永久在线高清免费| 亚洲av最新在线观看网址| 国产精品深夜福利免费观看| 日韩亚洲人成网站| 亚洲欧洲自拍拍偷精品 美利坚 | 免费a级毛片网站| 精品国产亚洲第一区二区三区| 野花香高清视频在线观看免费| 四虎影视www四虎免费| 亚洲成AV人片在WWW| 又粗又硬又黄又爽的免费视频| 亚洲性无码av在线| 国产日本一线在线观看免费| 亚洲精品白浆高清久久久久久| 亚洲精品精华液一区二区| 99re在线视频免费观看| 亚洲AV无码一区二区三区人 | 水蜜桃视频在线观看免费| 久久亚洲国产精品123区| 国产成人免费ā片在线观看老同学| 国产男女性潮高清免费网站| 中文字幕亚洲色图| 永久免费A∨片在线观看| 亚洲免费无码在线| 99re在线视频免费观看| 亚洲av之男人的天堂网站| 成人在线免费看片| 亚洲精品在线网站| 热99re久久免费视精品频软件 | 亚洲成A人片在线观看无码3D| 亚洲无mate20pro麻豆| xvideos亚洲永久网址| 免费看又黄又无码的网站| 亚洲国产精品VA在线看黑人| av大片在线无码免费| 麻豆安全免费网址入口|