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

Delphi 2006/7 的 TFMTBCDField 如何顯示 0.10 怎麼老是 .10 ?

答題得分者是:pedro
VICSYS
初階會員


發表:21
回覆:64
積分:32
註冊:2002-10-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-30 18:08:05 IP:219.68.xxx.xxx 未訂閱
DisplayFormat 設為 0.00 對吧?
我用 FormatBcd 結果一樣的吧?
FormatBcd('0.00', StrtoBcd('0.1')) .10
FormatBcd('0.00', StrtoBcd('0.01')) 0.01
FormatBcd('0.00', StrtoBcd('1')) 1
FormatBcd('0.00', StrtoBcd('1.1')) 1.10

我以為有下列結果
0.10
0.01
1.00
1.10

哦! 哦! 無言!

前一陣子, 還為四捨五入的問題發昏! 現在又來個 FMTBCD :(

Help 檔上說明, 跟 Delphi 7 一樣!
Format indicates how the resulting string should be formatted.
It uses the same format specifiers as pertain to the FormatFloat function.

只是我怎麼試就是 not same as FormatFloat :(

1.不知道是要改寫 TFMTBCDField
2.還是自行開發 DB Engine, 告訴 Delphi 我這裡全部都是 ftBCD
3.還是我發昏了, 寫程式寫到起笑..
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-31 10:45:09 IP:60.248.xxx.xxx 未訂閱
DisplayFormat設#,###,##0.00
看看
VICSYS
初階會員


發表:21
回覆:64
積分:32
註冊:2002-10-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-31 11:12:56 IP:219.68.xxx.xxx 未訂閱
那您試出的結果如何?
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-07-31 11:24:26 IP:60.248.xxx.xxx 未訂閱
我沒有D2006/7環境
VICSYS
初階會員


發表:21
回覆:64
積分:32
註冊:2002-10-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-07-31 13:30:02 IP:219.68.xxx.xxx 未訂閱
那您的環境是什麼? 是 Delphi 吧!
FormatBcd('0.00', StrtoBcd('0.1'))
結果如何? 如果正常! 那麼 Delphi 2006/2007 FMTBCDField 可參考您 "環境" 原始碼來改寫
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-07-31 13:59:58 IP:60.248.xxx.xxx 未訂閱
D7執行結果
ShowMessage(FormatBcd('0.00', StrtoBcd('0.1')));
確實是
0.10

ShowMessage(FormatBcd('#,###,##0.00', StrtoBcd('-0.1')));
結果也是0.10

您的意思是在D2006/7結果是
.10?
用欄位的DisplayFormat一樣秀出.10?
VICSYS
初階會員


發表:21
回覆:64
積分:32
註冊:2002-10-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-07-31 14:57:09 IP:219.68.xxx.xxx 未訂閱
TFMTBCDField DisplayFormat 為 '0.00' 跟 FormatBcd('0.00', SomeBcdValue) 這兩者
0.1 都是顯示成 .10
我想用 Delphi 7 的原始碼來改寫 TFMTBCDField 好了!
Thx!
編輯記錄
VICSYS 重新編輯於 2007-07-31 15:02:21, 註解 無‧
系統時間:2024-05-19 0:32:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!