从浮点数中获取整数?
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' 作为整数。
如果是这样,请使用 div
和 mod
运算符:
years := MTblDetail.FieldByName('Target_').AsInteger div 12 ; // returns 1
months := MTblDetail.FieldByName('Target_').AsInteger mod 12 ; // returns 8
我有一个数字除以 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' 作为整数。
如果是这样,请使用 div
和 mod
运算符:
years := MTblDetail.FieldByName('Target_').AsInteger div 12 ; // returns 1
months := MTblDetail.FieldByName('Target_').AsInteger mod 12 ; // returns 8