从浮点数中获取整数?

Get Integer number from a Float?

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

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

例如:

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

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

我只需要得到数字1,然后计算浮点数

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

你的问题的答案是这样写的(假设一个整数变量 years 和一个浮点变量 remainder) 使用trunc得到除法结果的整数部分

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

既然你说的是月份,也许你想知道 'years' 和 'months' 作为整数。 如果是这样,请使用 divmod 运算符:

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