Compare variables of type "Variant"

wittgenstein
Member Posts: 17
Hi,
is there a possibility to compare variables of type variant?
Simple compare operations don't seem to work.
E.g.
Is there a way to keep this simple or do I have to check the type and EVALUATE?
In addition, is there a way to return the datatype of a variant? I don't want to do it by
Thanks in advance.
is there a possibility to compare variables of type variant?
Simple compare operations don't seem to work.
E.g.
bool := var1 = var2; bool := var1 <> var2; bool := var1 > var2;
Is there a way to keep this simple or do I have to check the type and EVALUATE?
In addition, is there a way to return the datatype of a variant? I don't want to do it by
IF var1.ISDECIMAL THEN ...
Thanks in advance.
0
Best Answer
-
You can try
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.
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.
SlawekSlawek Guzek
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-031
Answers
-
You can try
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.
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.
SlawekSlawek Guzek
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-031
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions