如何分别截取浮点数的整数部分和小数部分。

s98231106 2002-07-05 11:47:36
如题
...全文
1087 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
s98231106 2002-07-07
  • 打赏
  • 举报
回复
以上各位的意见我都试过,
方法都是正确的。

最后我选择了变字符串的方法,然后截取。

谢谢各位。
surfguy 2002-07-06
  • 打赏
  • 举报
回复
frac()也有误差,如上例中它取出来的小数会是0.6646459999998这类的。
cpls 2002-07-06
  • 打赏
  • 举报
回复
或者
a:=Int(1.5);
b:=1.5-a;
surfguy 2002-07-06
  • 打赏
  • 举报
回复
我认为整数部分可以用trunc来取,但小数部分用round可能不行,会有一点点误差。
var
a,b:real;//b小数部分
c:integer;//c为整数部分
d,e:string;
begin
a:=12345.664646;//原数
d:=floattostr(a);
c:=trunc(a);
e:=copy(d,length(inttostr(c))+1,length(d)-length(inttostr(c)));
e:='0'+e;
b:=strtofloat(e);
//如果用b:=a-c产生产结果会有误差。
end;
johnsonrao 2002-07-06
  • 打赏
  • 举报
回复
trunc(),frac()同意,最简单
xunji 2002-07-06
  • 打赏
  • 举报
回复
trunc(),frac()
alongla918 2002-07-06
  • 打赏
  • 举报
回复
同意
tsedlinux 2002-07-06
  • 打赏
  • 举报
回复
变为字符型,判断小数点位置,截取相应的字串
绝对不会有误差的

哈哈
naughtyboy 2002-07-05
  • 打赏
  • 举报
回复
去整用trunc()

5,387

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧