java – Android: String format with Double value-ThrowExceptions

Exception or error:

I need to create a String using the Formater to display some double float values. I’m not clear on how to code it. Here is what I have:

Double dWeightInKg = 100;
Double dWeightInLbs = 220:
String headerText = String.format("%.0f kg / %.0f lbs",Double.toString(dWeightInKg) , Double.toString(dWeightInLbs));

I’m looking for the following output:

100 kg / 220 lbs

I get a runtimeexception – badArgumentType(formater) on my String.format line.

How to solve:

%.0f is the format string for a float, with 0 decimal places.

The values you’re passing to String.format are String, String when it needs to be Double, Double.

You do not need to convert the doubles to strings.

String headerText = String.format("%.0f kg / %.0f lbs", dWeightInKg, dWeightInLbs);

###

This should work,

DecimalFormat df = new DecimalFormat("#.##");
private String convertToFormat(double value){

    return df.format(value);
}

###

You don’t need the Double.ToString() since your formatter is already expecting a number. Try this:

String headerText = String.format("%.0f kg / %.0f lbs", dWeightInKg , dWeightInLbs);

Leave a Reply

Your email address will not be published. Required fields are marked *