線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2257
推到 Plurk!
推到 Facebook!

請問有個數值需秀到小數位數6位.

尚未結案
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-20 13:52:23 IP:61.221.xxx.xxx 未訂閱
請問各位: 我有個數值需要求到小數位數6位。 F2 : Double; F2 := ADOQuery2.Fields.fieldS[9].AsFloat; //單位用量 showmessage(FloatToStr(F2)); 可是求得的值為小數位數4位。 而F2的值需放至資料庫型態為N(13.6) 該如何去設定。麻煩大家。
speedup
資深會員


發表:19
回覆:259
積分:280
註冊:2003-07-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-20 14:28:28 IP:220.135.xxx.xxx 未訂閱
引言: showmessage(FloatToStr(F2));
改成 Showmessage(Format('.6f',[F2])); 發表人 - speedup 於 2005/06/20 14:30:18
------
唉~
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-20 14:43:16 IP:61.221.xxx.xxx 未訂閱
您好, 可是我目前的問題是,F2所存放的值為小數位4位。 我有試在秀出sql文的那個欄位資料,是超過小數位4位。 請問是我在程式中定義F2資料型態的問題嗎。 謝謝。
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-20 15:25:47 IP:218.163.xxx.xxx 未訂閱
要用TFMTBCD欄位才行顯示6碼的小數 參考http://www.marcocantu.com/code/md6htm/DbxMulti.htm#DbxMultiForm.pas 程式碼內有一TFMTBCDField。 星期一,星期二...星期日..星期一..無窮迴圈@@
------
星期一,二...無窮迴圈@@
speedup
資深會員


發表:19
回覆:259
積分:280
註冊:2003-07-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-20 15:26:08 IP:220.135.xxx.xxx 未訂閱
引言: 可是我目前的問題是,F2所存放的值為小數位4位。 我有試在秀出sql文的那個欄位資料,是超過小數位4位。 請問是我在程式中定義F2資料型態的問題嗎。
不太清楚你的意思,在電腦世界中是以二進位處理 因此如果你型態選Double/Real/Extended 基本上 對於某些十進位的小數可能只會存近似值(這就是有名 的浮點誤差,因為十進位小數轉換成二進位小數造成的問題) 唯一不會有誤差的型態是Currency,可是Currency只能存到 小數下四位 所以其實問題在於你的資料庫採用何種欄位 如果事實數型態自然會存在浮點誤差問題, 你可定義bcd 或 money 或字串 才可避免此問題發生(但會犧牲精確度) 混心雜欲 棄修身~唉
------
唉~
blueK
初階會員


發表:19
回覆:62
積分:36
註冊:2004-05-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-12 12:44:40 IP:203.67.xxx.xxx 未訂閱
大家好 我用的後端資料庫是MSSQL2000 後端設定decimal 於前端只會拉出TBCDField 不知道要怎麼設定才可以拉出TFMTBCDField的欄位 請多多指教 謝謝!
系統時間:2024-06-27 22:36:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!