I Have a number that is divided by 12 Months.
I need to get the result of the division as an Integer number.
Ex:
mTblDetailMonth.FieldByName('Target_').asfloat := (MTblDetail.FieldByName('Target_').AsInteger / 12 );
When the MTblDetail.FieldByName('Target_').AsInteger
is equal to 20 and divide
20 / 12
, the Result is 1.666666667
.
I need to get the number 1 only and then calculate the floating decimal number.
Your question is not very clear, so here's two alternatives:
The answer to your question as it is written (assuming an integer variable years
and a float variable remainder
)
use trunc
to get the integer part of the division result
years := trunc(MTblDetail.FieldByName('Target_').AsInteger / 12); // returns 1
remainder := MTblDetail.FieldByName('Target_').AsInteger / 12 - years; // returns 0.6666...
Since you talk about months, maybe you want to know 'years' and 'months' as integers.
If so, use div
and mod
operators:
years := MTblDetail.FieldByName('Target_').AsInteger div 12 ; // returns 1
months := MTblDetail.FieldByName('Target_').AsInteger mod 12 ; // returns 8