关于函数转换时出现一怪事? format('%2.0f',12.34)'%2.0f'可以跟据需要修改. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 round本来是四舍五入的但是不知道为什么round(0.5)=0大概是bugtrunc 是取整函数 你可以把round函数替换为: function round_hss(const x:Extended):Extended; begin if x>=0 then result:=trunc(x+0.5) else result:=trunc(x-0.5); end; Delphi6 中round 函数实现为:asm { -> FST(0) Extended argument } { <- EDX:EAX Result } SUB ESP,8 FISTP qword ptr [ESP] FWAIT POP EAX POP EDXend;这是因为 FISTP 执行四舍五入时是按RC场的值来决定的 RC=00 向最近偶数取整 RC=01 向下取整 RC=10 向上取整 RC=11 向零取整 发生以上错误只是由于这时 RC=00 怎么建立一个让其它程序检测不到我的进程 高价求DELPHI开发的ERP源码 GLScene 能不能完全 代替 用openG.pasL编程 ?????????????????? 如何判断一个文件为文本型文件? 关于数组的问题 如何对特殊类型的字段进行操作和SQL 方面的内容 有没有这样的工具或软件 请问如何在一个文本文件中指定的位置插入规定字符 求助:要求自定软件开发课题,我还没有找到,马上就要到时间了,help! 请解绍几本经典书,delphi的,谢了! 请教api hook技术! delphi的ado组件支持分页吗?
但是不知道为什么round(0.5)=0
大概是bug
trunc 是取整函数
begin
if x>=0 then
result:=trunc(x+0.5)
else
result:=trunc(x-0.5);
end;
asm
{ -> FST(0) Extended argument }
{ <- EDX:EAX Result } SUB ESP,8
FISTP qword ptr [ESP]
FWAIT
POP EAX
POP EDX
end;这是因为 FISTP 执行四舍五入时是按RC场的值来决定的
RC=00 向最近偶数取整
RC=01 向下取整
RC=10 向上取整
RC=11 向零取整 发生以上错误只是由于这时 RC=00