从Float获取整数?

时间:2015-11-29 07:56:21

标签: delphi delphi-7

我有一个数字除以12个月。

我需要将除法结果作为整数。

例如:

 mTblDetailMonth.FieldByName('Target_').asfloat := (MTblDetail.FieldByName('Target_').AsInteger / 12 );

MTblDetail.FieldByName('Target_').AsInteger等于20并除以时  20 / 12,结果为1.666666667

我只需要获取数字1,然后计算浮动十进制数。

1 个答案:

答案 0 :(得分:3)

你的问题不是很清楚,所以这里有两个选择:

编写问题的答案(假设整数变量years和浮点变量remainder) 使用trunc获取除法结果的整数部分

years := trunc(MTblDetail.FieldByName('Target_').AsInteger / 12); // returns 1
remainder := MTblDetail.FieldByName('Target_').AsInteger / 12 - years; // returns 0.6666...

既然你谈了几个月,也许你想知道“岁月”。和'月'作为整数。 如果是,请使用divmod运营商:

years := MTblDetail.FieldByName('Target_').AsInteger div 12 ;  // returns 1
months := MTblDetail.FieldByName('Target_').AsInteger mod 12 ; // returns 8