比如我有个数0.56和0.52我现在想通过formatfloat函数转换后不进行转换,结果:0.5和0.5,大家指教下怎么转换哦。
解决方案 »
- Delphi2010 开发unicode多语言程序,存取乱码,数据库为Oracle11G
- 求一算法,关于SQL表 和 TreeView!
- 怎樣看sql語句,兄台。
- 急急急!在急等,为什么我在本机上可以运行的delphi程序exe文件,在别的机器上就是不能运行???
- 关于一个Delphi大包的问题。请大虾指教!急急急~~~
- 怎样判断窗体是否已经创建
- 如果有一些微软让Delphi程序在Windows下运行产生问题,或向Delphi提供很少的API,让Delphi功能减少,有这个可能吗?
- 如何创建VPN的拨号连接(在DELPHI)
- DELPHIER,正转向PYTHON了,大家怎么看?
- 小問題,50分!!!
- delphi中使用BDE如何进行事务处理?
- TDBComboBox
begin
Result:= Trunc(R);
if Frac(R) >= 0.5 then
Result:= Result + 1;
end;
ShowMessage(FormatFloat('0.0', 0.52)); //显示的结果是0.5
function MyFormatFloat(const Format: string; Value: Extended): string;
begin
Result := Copy(FormatFloat(Format + '0', Value), 1, Length(Format));
end;procedure TForm1.FormCreate(Sender: TObject);
begin
ShowMessage(MyFormatFloat('0.0', 0.56));
ShowMessage(MyFormatFloat('0.0', 0.52));
end;
function MyFormatFloat(rData: Double; idoc:integer): Double;
var
i:integer;
begin
i:=pos(',',FloatToStr(rData));
Result := StrToFloat(Copy(FloatToStr(rData),1,i+idoc));
end;//调用MyFormatFloat(5.652,1);//1位小数
MyFormatFloat(5.652,2);//2位小数
应该改为:i:=pos('.',FloatToStr(rData));
打字太快,没注意看
Trunc()截掉小数,
配合乘除什么结果都能得到啊