Herry
Herry

Reputation: 7087

DecimalFormat not working for 8233.4892578125 Double value?

I have Double value of my variable is 8233.4892578125 and now when i am passing it to convert it as 8233.5 using below code which is not working as expected .

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

        return df.format(value);
    }

Now when i pass convertToFormat(8233.4892578125) it give me below output :

8233,5

So why this happen it should give me 8233.5 not 8233,5 can any one give me proper answer for this issue.

NOTE : this issue happen when i have change my android emulator language to Italian from setting.

Upvotes: 1

Views: 596

Answers (1)

Blackbelt
Blackbelt

Reputation: 157457

it a Locale issue. You should supply a local that make uses of the point for the decimal representation. Use a european locale and you should get the point (Locale.ITALIAN e.g.).

Edit:

DecimalFormat decimalFormat = (DecimalFormat)
        NumberFormat.getNumberInstance(Locale.ITALIAN);
decimalFormat.applyPattern("#.#");

Upvotes: 3

Related Questions