全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1317
推到 Plurk!
推到 Facebook!

dbgrid中的四舍五入问题

尚未結案
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-04-25 14:40:46 IP:60.186.xxx.xxx 訂閱
各位大大好
我在mssql中,某栏位显示0.9775,然后我在dbgrid对应的adoquery中,设定该栏位的displayformat为0.000,但结果却显示为0.977,怎样才能四舍五入,让其显示为0.978呢?
編輯記錄
luowy651 重新編輯於 2011-04-25 00:42:30, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-04-26 01:12:28 IP:118.169.xxx.xxx 未訂閱
1.這個問題本站討論很多
2.Delphi採的是逢雙進位, 也就是俗稱的五捨六入法
3.解決方式, 可以自定一個 calc 欄位, 在裡面自行處理進位模式, 或者把小數格式增設到第4位看看
===================引 用 luowy651 文 章===================
各位大大好
我在mssql中,某栏位显示0.9775,然后我在dbgrid对应的adoquery中,设定该栏位的displayformat为0.000,但结果却显示为0.977,怎样才能四舍五入,让其显示为0.978呢?
cancer
高階會員


發表:58
回覆:319
積分:190
註冊:2004-07-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-04-27 14:16:25 IP:220.128.xxx.xxx 未訂閱
沒有用,要在 BeforePost 處理,用 SimpleRoundTo() 算術式五捨五入。
ds.FieldByName('amount').AsFloat :=SimpleRoundTo(ds.FieldByName('amount').AsFloat, -3);
===================引 用 luowy651 文 章===================

各位大大好
我在mssql中,某栏位显示0.9775,然后我在dbgrid对应的adoquery中,设定该栏位的displayformat为0.000,但结果却显示为0.977,怎样才能四舍五入,让其显示为0.978呢?
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-05-05 19:48:16 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-04-25 13:58:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!