i've 2 strings need compare, want compare them meaningfully such when numbers actual value should compared. far i've tried following solution:
string str1 = "-0.6"; string str2 = "-.6"; if (numberutils.isnumber(str1) && numberutils.isnumber(str2)) { number num1 = numberutils.createnumber(str1); number num2 = numberutils.createnumber(str2); system.out.println(num1.equals(num2)); } else { system.out.println(str1.equals(str2)); } this works both converted doubles.
won't work in case where:
string str1 = "6"; string str2 = "6.0"; is there easy way this, or have write own comparator?
instead of using general-purpose createnumber(string), force them doubles using createdouble(string):
string str1 = "-0.6"; string str2 = "-.6"; if (numberutils.isnumber(str1) && numberutils.isnumber(str2)) { double d1 = numberutils.createdouble(str1); double d2 = numberutils.createdouble(str2); system.out.println(d1.equals(d2)); } else { system.out.println(str1.equals(str2)); }
Comments
Post a Comment