如何自動四捨五入 |
答題得分者是:小傑克
|
g9614721
一般會員 發表:27 回覆:51 積分:15 註冊:2008-07-23 發送簡訊給我 |
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
假設 query 為 query1, dbedit 為 dbedit1. 1. doubleclick query1, 會跳出一個視窗. 2. 跳出的視窗上按 mouse 右鍵, 選 add all fields. 3. 點連到 dbedit1 的欄位. 4. 修改其 displayformat 屬性.
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
frappe
中階會員 發表:88 回覆:114 積分:95 註冊:2008-10-21 發送簡訊給我 |
不知道paradox有沒有Round函數
round(avg(數量),2) as 平均數量 ===================引 用 g9614721 文 章=================== 我用SQL 計算出來的數量 (顯示在DBEDIT )上 但= =小數點太多位~ 會變成這樣 例如avg(數量)AS平均數量 計算完=120.3333333333333....... 顯示在DBEDIT上變成 [0.333333333] 如何讓他只自動計算到小數點兩位就好~或是整數也ok~ 我的資料庫是PARADOX7 用QUERY計算 |
小傑克
資深會員 發表:5 回覆:209 積分:357 註冊:2009-02-16 發送簡訊給我 |
在 Field 的 OnGetText 事件上改一下就可以
[code delphi] if Sender.AsString <> '' then Text := FloatToStr(Round(Sender.AsFloat)); // RoundTo(Sender.AsFloat,-2) 這樣可以取小數兩位數 [/code] ===================引 用 g9614721 文 章=================== 我用SQL 計算出來的數量 (顯示在DBEDIT )上 但= =小數點太多位~ 會變成這樣 例如avg(數量)AS平均數量 計算完=120.3333333333333....... 顯示在DBEDIT上變成 [0.333333333] 如何讓他只自動計算到小數點兩位就好~或是整數也ok~ 我的資料庫是PARADOX7 用QUERY計算
------
額有朝天骨,眼中有靈光 |
chenyk
高階會員 發表:14 回覆:95 積分:171 註冊:2002-07-08 發送簡訊給我 |
試試
SELECT FORMAT(AVG(數量), 2) AS 平均數量 FROM... ===================引 用 g9614721 文 章=================== 我用SQL 計算出來的數量 (顯示在DBEDIT )上 但= =小數點太多位~ 會變成這樣 例如avg(數量)AS平均數量 計算完=120.3333333333333....... 顯示在DBEDIT上變成 [0.333333333] 如何讓他只自動計算到小數點兩位就好~或是整數也ok~ 我的資料庫是PARADOX7 用QUERY計算 |
g9614721
一般會員 發表:27 回覆:51 積分:15 註冊:2008-07-23 發送簡訊給我 |
感謝 frappe chenyk 小傑克 st33chen...
frappe , chenyk 的方法 似乎不可行~會發生錯誤! 小傑克給我的方法是取整數的 可以用!感謝! 我修改成 if Sender.AsString <> '' then Text := FloatToStr(Roundto(Sender.AsFloat,-2)); // RoundTo(Sender.AsFloat,-2) 這樣可以取小數兩位數 run 時會產生錯誤。。。@@後面的註解意思是?? ===================引 用 小傑克 文 章=================== 在 Field 的 OnGetText 事件上改一下就可以 [code delphi] if Sender.AsString <> '' then Text := FloatToStr(Round(Sender.AsFloat)); // RoundTo(Sender.AsFloat,-2) 這樣可以取小數兩位數 [/code] ===================引 用 g9614721 文 章=================== 我用SQL 計算出來的數量 (顯示在DBEDIT )上 但= =小數點太多位~ 會變成這樣 例如avg(數量)AS平均數量 計算完=120.3333333333333....... 顯示在DBEDIT上變成 [0.333333333] 如何讓他只自動計算到小數點兩位就好~或是整數也ok~ 我的資料庫是PARADOX7 用QUERY計算 |
jackiemi2_seed
中階會員 發表:37 回覆:97 積分:76 註冊:2006-09-11 發送簡訊給我 |
round 四捨六入,五成雙
round(3.4)=>3 round(3.5)=>4 round(4.5)=>4 round(4.6)=>5 //四捨五入,取到小數第二位, //.2f:整數10位,小數2位,第三位四捨五入 format('.2f',[4.455]) //四拾五入,需uses Math showmessage(inttostr(Trunc(SimpleRoundTo(4.5,0))));
------
OS : Win 7 pro Program : Delphi 7 DataBase : Ms Sql 2008
編輯記錄
jackiemi2_seed 重新編輯於 2009-03-25 13:41:52, 註解 無‧
|
roviury
一般會員 發表:3 回覆:49 積分:15 註冊:2008-08-28 發送簡訊給我 |
|
jackiemi2_seed
中階會員 發表:37 回覆:97 積分:76 註冊:2006-09-11 發送簡訊給我 |
roviury兄:
請問一下4.5四捨五入取到整數, 如何用您的方法得到5?? ===================引 用 roviury 文 章=================== 效率高,不用use maths { a:=120.3333333; a:=a*100;//12033.3333 a:=round(a);//12033 a:=a/100;//120.33 } round(a*100)/100 這個比用format快得多
------
OS : Win 7 pro Program : Delphi 7 DataBase : Ms Sql 2008 |
chenyk
高階會員 發表:14 回覆:95 積分:171 註冊:2002-07-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |