請問如何將數值進行四捨五入及無條件捨去 |
尚未結案
|
hslin
一般會員 發表:7 回覆:5 積分:2 註冊:2003-10-15 發送簡訊給我 |
|
azurecloud
中階會員 發表:52 回覆:108 積分:92 註冊:2003-09-04 發送簡訊給我 |
Hi,Hslin 您好:
四捨五入請參考這篇
http://delphi.ktop.com.tw/topic.php?topic_id=21876
而我測試過只要 ACCESS 中有設定顯示小數點位數,且程式傳入的數值
確定為小數的話是可以正確存入的。我測試的程式碼如下
//這一段是四捨五入的示範
//抱歉「加」號顯示不出來,我用中文的 ﹢
procedure TForm1.Button1Click(Sender: TObject);
var
S, T: string;
begin
T := Floattostr(1.4);
S := T ﹢ ' rounds to ' ﹢ IntToStr(trunc(1.4 ﹢0.5)) + #13#10;
T := Floattostr(1.5);
S := S ﹢ T ﹢ ' rounds to ' ﹢ IntToStr(trunc(1.5﹢0.5)) ﹢#13#10;
T := Floattostr(-1.4);
S := S ﹢ T ﹢' rounds to ' ﹢IntToStr(trunc(-1.4﹢0.5)) ﹢ #13#10;
T := Floattostr(-1.5);
S := S ﹢ T ﹢ ' rounds to ' ﹢ IntToStr(trunc(-1.5﹢0.5));
MessageDlg(S, mtInformation, [mbOk], 0);
end;
//這裡是我的測試
procedure TForm1.Button2Click(Sender: TObject);
var t : double;
s : string;
begin
s := 'insert into table1 (test) values (''' ﹢ edit1.Text ﹢ ''')';;
adocommand1.CommandText := s;
adocommand1.Execute;
end;
希望幫得上忙。 ========================
我要努力向上======================== |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
skurama
中階會員 發表:88 回覆:127 積分:73 註冊:2002-07-22 發送簡訊給我 |
有一個最簡單的方法,就是format,
但是回傳是字串,要再轉換型態,
最大的好處是可以設定要四捨五入到小數第幾會 1.654 format('%3.2f',[1.654]) => 1.65
format('%2.1f',[1.654]) => 1.7
format('%1.0f',[1.654]) => 2 如果需要,號的話,但不能換成浮點數 format('%5.0n',[5000.623]) => 5,001 ----------------
昂首千丘遠,
嘯傲風間,
堪尋敵手共論劍,
高處不甚寒!
----------------
------
---------------- 初出芧房程設師, 左鍵右鼠寫程式, 日扣夜寫眼框溼, 望能早成系分師。 ---------------- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |