[Gambas-user] Arithmetic general question
T Lee Davidson
t.lee.davidson at gmail.com
Tue Jan 24 15:05:00 CET 2023
On 1/23/23 23:53, BB wrote:
> Var1 and Var2 are defined as Variants. Say Var1 is an integer value 1300 and Var2 is a float value 1285.44 I want to get the
> difference between the two _as an integer_. (Var2 can be bigger or smaller than Var1)
> If I just use Var1 - Var2, I get (printed as an integer) 14, but is that arithmetically correct? Similarly, if Var2 is 1318.55
> I get -18
> Should I be converting or rounding the values before doing the subtraction?
No. Doing that would give inaccurate results. If anything, you would round or truncate _after_ getting the difference.
In your example, the conversion to integer is obviously truncating the fractional part. Maybe that is what leads you to question
its correctness. "Var1 - Var2" correctly expresses the difference between two variable numbers regardless of their sign or the
sign of the result.
More information about the User