This might look like a repeated question but I tried in all the below links and can't get a proper answer.
Cannot format given Object as a Number ComboBox
But I'm not getting what's wrong. Here is my code
DecimalFormat twoDForm = new DecimalFormat("#.##");
double externalmark = 1.86;
double internalmark = 4.0;
System.out.println(String.valueOf((externalmark*3+internalmark*1)/4));
String val = String.valueOf((externalmark*3+internalmark*1)/4);
String wgpa1=twoDForm.format(val); // gives exception
String wgpa2=twoDForm.format((externalmark*3+internalmark*1)/4)); // works fine
System.out.println(wgpa1);
The format
method takes Object type argument, so that's why I passed a String object which gives exception
Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Number.
But when I give double value as argument the program works fine. But if the method is defined with Object
type argument why I'm getting an exception while passing a String
and not getting exception while passing double
?