Platforms to show: All Mac Windows Linux Cross-Platform
CompareNumbersMBS(v1 as Variant, v2 as Variant) as Integer
Function:
Compares numbers.
Example:
Notes:
The goal: compare numbers better than Xojo.
Especially UInt64/Int64 edge cases.
We treat nil as 0 value and ptr as UInt64.
If first argument is string, we just compare both as string. If first argument is numeric and second argument is string, we convert second one to number.
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
global method | Math | MBS DataTypes Plugin | 20.5 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Example:
Dim u As UInt64 = 12345678901234567890
Dim i As Int64 = -1
If u > i Then
Break // 12345678901234567890 > -1
Else
Break // xojo says it's smaller!
End If
If CompareNumbersMBS(u,i) > 0 Then
Break // Plugin does it right
Else
Break
End If
The goal: compare numbers better than Xojo.
Especially UInt64/Int64 edge cases.
We treat nil as 0 value and ptr as UInt64.
If first argument is string, we just compare both as string. If first argument is numeric and second argument is string, we convert second one to number.
Blog Entries
The items on this page are in the following plugins: MBS DataTypes Plugin.

Links
MBS Xojo blog