Compare two strings meaningfully in Java -


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