fastreport小数点后保留二位如何写?(50分)

  • 主题发起人 主题发起人 玩命
  • 开始时间 开始时间

玩命

Unregistered / Unconfirmed
GUEST, unregistred user!
我动态用代码生成fastreport报表,其中
if gz_xm='基础工资' then
TFloatField(TfrMemoView(v)).Displayformat:='¥#0.00';
为什么打印时“230”还是“230”而不是“¥230.00”?
请问如何动态指定displayformat属性?
 
不对,请看fr_fmted.pas
procedure TfrFmtForm.FormDeactivate(Sender: TObject);
var
c: Char;
begin
if ModalResult = mrOk then
begin
Format := CatLB.ItemIndex * $01000000 + TypeLB.ItemIndex * $00010000 +
StrToIntDef(DecEdit.Text, 0) * $00000100;
c := ',';
if SplEdit.Text <> '' then
c := SplEdit.Text[1];
Format := Format + Ord(c);
if FormatEdit.Enabled then
FormatStr := FormatEdit.Text;
end;
end;

procedure TfrMemoView.P1Click(Sender: TObject);
var
t: TfrView;
i: Integer;
begin
frDesigner.BeforeChange;
with TfrFmtForm.Create(nil)do
begin
Format := Self.Format;
FormatStr := Self.FormatStr;
if ShowModal = mrOk then
for i := 0 to frDesigner.Page.Objects.Count - 1do
begin
t := frDesigner.Page.Objects;
if t.Selected and ((t.Restrictions and frrfDontModify) = 0) then
begin
(t as TfrMemoView).Format := Format;
(t as TfrMemoView).FormatStr := FormatStr;
end;
end;
Free;
end;
end;
 
哈哈哈
又是你!看来你真是专家呀!!为什么不搞个QQ??我好联系你,真想和你聊聊!!
 
KAO!!!
实在不好意思,水平太凹!!看了半天,觉得应该这样写:

TfrMemoView(v).Format:=2;
TfrMemoView(v).FormatStr:='#0.00';
还是没有反应,麻烦WHF老凶,帮忙写一下代码应该如何解决?谢谢!
 
TfrMemoView(v).Format:=1 * $01000000 + 4 * $00010000;
TfrMemoView(v).Format := TfrMemoView(v).Format + Ord('.');

 
非常谢谢WHF老凶!!!
按你的方法试了,虽成功了,但显示的是“@@230”,并非“¥230.00”
能解释一下$10000000是什么意思吗?有何规律?
那个ORD('.')是干什么的?
 
已搞明白了,谢谢WHF!!50分请笑纳!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
I
回复
0
查看
605
import
I
后退
顶部