bool := var1 = var2; bool := var1 <> var2; bool := var1 > var2;
IF var1.ISDECIMAL THEN ...
IF FORMAT(var1) = FORMAT(var2) THEN...It would help with simple datatypes, and in = or <> cases, but > or < or other combinations may not make sense, because you will be effectively comparing strings, not the actual values.
Answers
As for the datatype of variant, as far as I know there is no other way than var1.ISDECIMAL.. and so on. Not in C/AL.
Maybe assigning a variant to a .NET and then getting back the type could be is possible, but if it is I'd guess that it would work only for simple data types.
Slawek
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03