mibollma
mibollma

Reputation: 15108

Recommended way to format numbers in a locale aware way?

Lets assume we have one million.

In English it should be formatted as 1,000,000 in German it should be 1.000.000.

Upvotes: 31

Views: 30424

Answers (3)

Jesus Oliva
Jesus Oliva

Reputation: 2302

Using NumberFormat class:

For English:

NumberFormat nf_us = NumberFormat.getInstance(Locale.US);
String number_us = nf_us.format(1000000);

For German:

NumberFormat nf_ge = NumberFormat.getInstance(Locale.GERMAN);
String number_ge = nf_ge.format(1000000);

Upvotes: 47

Christopher Klewes
Christopher Klewes

Reputation: 11435

You can achieve this with using the NumberFormat class, this also allows you to parse Strings into a local aware number.

NumberFormat formatter = NumberFormat.getInstance(Locale.GERMAN);
String localeFormattedNumber = formatter.format(1000000);

Upvotes: 5

Riduidel
Riduidel

Reputation: 22292

You can use NumberFormat.

Android documentation is quite clear on it.

Upvotes: 8

Related Questions