怎樣處理浮點數 |
答題得分者是:sos_admin
|
lafite
一般會員 發表:4 回覆:7 積分:2 註冊:2003-08-29 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
lafite
一般會員 發表:4 回覆:7 積分:2 註冊:2003-08-29 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
var
a:double;
begin
a:=123.123456; adoquery1.SQL.Clear ;
//adoquery1.SQL.Text :='insert into ab (nn) values (' floattostr(a) ') ';
adoquery1.SQL.Text :='insert into ab (nn) values (:nn) ';
adoquery1.Parameters.ParamByName('nn').DataType :=ftstring;
adoquery1.Parameters.ParamByName('nn').Value :=a; adoquery1.ExecSQL ; end; 上面的方法您任选一种都可以实现,DataType 不可以为ftfloat哦
|
lafite
一般會員 發表:4 回覆:7 積分:2 註冊:2003-08-29 發送簡訊給我 |
對不起, 可能我解釋得不夠詳細
我用SQL 2000 儲存資料
我是用 ADO Connection 連接 SQL 2000 資料庫
Table 設定如下
TableValue Decmail 18 6
當我 ADOTable 來連接 SQL Table 時
發現當我要取出一筆有6個小數位值的資料時
我用的方法時張這筆資料放在Edit Field,
在TableValue 的值是 12564.123456
但當我以下的語法取出時
EditField.Text := FloattoStrF(TableValue.AsFloat,ffFixed,18,6)
發現放在EditField.Text 的數值是 12564.123500
這樣有什麼方法可以張EditField.Text 的數值變成 12564.123456
thx a lot
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
lafite 兄:
我测试并没有发现您所说的情况哦,我认为一定是您数据库中所存储的记录有问题哦〔您请察看一下〕。 ....
begin
adotable1.Append ;
adotable1.FieldByName('nn').AsFloat:=456789.123456;
adotable1.Post ;
end;
....
....
var
s:string;
begin
s:=FloatToStrF(adotable1.FieldValues ['nn'],ffFixed,18,6);
showmessage(s);
end;
|
lafite
一般會員 發表:4 回覆:7 積分:2 註冊:2003-08-29 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
lafite
一般會員 發表:4 回覆:7 積分:2 註冊:2003-08-29 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |