超简单问题,求函数!(20分)

  • 主题发起人 主题发起人 ntit_avan
  • 开始时间 开始时间
N

ntit_avan

Unregistered / Unconfirmed
GUEST, unregistred user!
如何删除小数点两位后数字,而不四舍五入?
谢谢!
 
strtoint(copy(floattostr(10.23),0,length(floattostr(10.23))-3))
 
不太明白,是删除两位后的数字?还是删除最后两位数字?
用Trunc()就不会四舍五入,直接保留整数部分
 
strtoint(copy(floattostr(10.235210),0,indexof(floattostr('10.235210'),'.')+3))=10.23
 
恩,回去试试看呢,比如0.7或0.71,要补成0.700和0.710不晓得怎么办哇!
 
uses
Math;

var
floatValue: Real;

1. Floor(floatValue * 100) / 100
2. Trunc(floatValue * 100) / 100
 
无头骑士的也回去试试看的.
谢谢!
 
比如0.7或0.71,要补成0.700和0.710不晓得怎么办哇!
Format('%.3f', [0.71]);
 
Format('%.3f',[Num]);一个就够了。
Format格式化函数。
%.3f:指后面是3为前面没有,所以不写。
Num:为Double类型。
如果不会,参考delphi的Format及FormatString解释。
 
gear1023:
Floor和有Trunc有什么具体的区别呢?
 
谢谢以上几位,给分太少啊
 
最直观的:
Floor(-10.9)=-11
Trunc(-10.9)=-10
正数情况一样
另外要想使用Floor需要引用Math单元
 
一人5分吧,不好意思了啊!
 
后退
顶部