Creating a financial application requires you to format number as a currency. It should include the correct thousand separator, decimal separator and the currency symbol. For this purpose you can use the NumberFormat.getCurrencyInstance()
method and pass the correct Locale
to get the currency format that you want.
package org.kodejava.text;
import java.text.NumberFormat;
import java.util.Locale;
public class LocaleCurrencyFormat {
public static void main(String[] args) {
Double number = 1500D;
// Format currency for Canada locale in Canada locale,
// the decimal point symbol is a comma and currency
// symbol is $.
NumberFormat format = NumberFormat.getCurrencyInstance(Locale.CANADA);
String currency = format.format(number);
System.out.println("Currency in Canada : " + currency);
// Format currency for Germany locale in German locale,
// the decimal point symbol is a dot and currency symbol
// is €.
format = NumberFormat.getCurrencyInstance(Locale.GERMANY);
currency = format.format(number);
System.out.println("Currency in Germany: " + currency);
}
}
Here is an output for the currency format using the Locale.CANADA
and Locale.GERMANY
.
Currency in Canada : $1,500.00
Currency in Germany: 1.500,00 €
Latest posts by Wayan (see all)
- How do I add an object to the beginning of Stream? - February 7, 2025
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
How to format and display currency to number?
Thank you
Hi Dony, what do you mean by formatting and displaying currency as number?
This is my code :
If run in command prompt with output : 4.500,00
I want to display again to value before so from 4.500, –> 4500
Thank you
dony
Hi Dony,
In your code you start with a
String
variable calleds
with a value of"4500"
. You convert the string intodouble
and format it for output using theDecimalFormat
and return it as ak
variable.Now back to your question, do you want to convert the
k
string back to number again? If yes, you can use thedf.parse()
method for this conversion. But if you want just to print the original value why don’t you just print thes
variable.Thank you, I try.
I don’t know if this is correct but what I did to print values with comma separated is
and the value of comma will be 4,000.00