Trying to understan what is wrong in function? but cant find what is wrong

```
Sub test()
Dim a as double, b as double
a = "10,31"
b = "10,31"
Msgbox check(a,b)
End Sub
Function check(a as double, b as double)
ff = TypeName(a) ' double
gg = TypeName(b) ' double
If a= b Then GoodExVat = True Else GoodExVat = False: diffExVAt = b - a ' here a = 10,31 b=10,31 diffExVAt = -3.5527136788005-15
check = diffExVAt
End Function
```

if a and b seted as 10,31 everything is ok, but when 10,31 comes from other function or expression then i got `-3.5527136788005-15`

What is that? It is not first time i got same thing. What is wrong with Excel?

Do not use `:`

in `It`

–`Else`

, it is a bit confusing. If you write it normally, it should work ok:

```
Sub Test()
Dim a As Double, b As Double
a = "10,31"
b = "10,31"
MsgBox check(a, b)
End Sub
Function check(a As Double, b As Double)
ff = TypeName(a) ' double
gg = TypeName(b) ' double
If a = b Then
GoodExVat = True
Else
GoodExVat = False
End If
diffExVAt = b - a ' here a = 10,31 b=10,31 diffExVAt = -3.5527136788005-15
check = diffExVAt
End Function
```

And concerning debugging – simply use `F8` and the Step-by-step method.

Concerning the `10,31`

coming from other function and expression and getting a `-3.55...-15`

, then the problem is in the floating point mathematics:

Tags: excelexcel, function