新手求教,浮点数转换问题(50分)

  • 主题发起人 主题发起人 juliay
  • 开始时间 开始时间
J

juliay

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用QRExpr求金额的总和,当使用小写转换大写函数时,需要把double 型转换为string,
使用FLoatToStr(QRExpr1.value.dblResult)后,结果为2.012894540404E-304的形式,
用FloatToStrF(QRExpr1.value.dblResult,ffCurrency,15,2)后为0.00
怎么才能使转换的字符串是83848.75的形式?[:(]
 
formatfloat('########.00',QRExpr1.value.dblResult)
 
我的QRExpr1的Expression里本身就写着FormatNumeric('0.00',Sum(....)),显示也正确
 
你什么意思?
shenrman的方法肯定是可以的。
你的回答是什么意思?
虽然你在QRExpr1的Expression里本身就写着FormatNumeric('0.00',Sum(....)),显示正确
但是这个仅仅是显示,存储的数据并不等于你的显示效果。
所以再次现实的时候(也就是转化成str时),还是需要做这个的:
formatfloat('########.00',QRExpr1.value.dblResult)
试试看?
 
我使用shenrman的方法
function xt0d(Money : double) : string;
var
XiaoXie,DaXie : String;
begin
...
XiaoXie:=formatfloat('########.00',Money);
SHowmessage(Xiaoxie);
....
调用函数为 QRLabel23.Caption :=xTod(QRExpr1.Value.dblResult);
弹出窗口显示.00
 
Daxie :=FloatToStr(FormatFloat('0.00',Money));
这句提示 Incompatible types: 'Extended'and 'String'
Daxie:String
Money:Double
 
sherman的方法应该是对的
 
我现在怀疑你的传入参数是不是不对了?
你不用函数,直接调用试试看。
你的那个过程什么意思啊?
另外:
Daxie :=FloatToStr(FormatFloat('0.00',Money));
这句提示 Incompatible types: 'Extended'and 'String'
肯定是错的了
FormatFloat()的返回值是string类型的,不必再用floattostr了!
 
多人接受答案了。
 
后退
顶部