http://www.exampledepot.com/egs/java.text/FormatNum.htmlNumberFormat問題
我有號碼1.23,我想格式化爲1,23。但是,如果我只有1,那麼我不想格式化爲1,00。
使用##,## 0.00 i格式1.23至1,23和1至1,00。我如何格式化1.23到1,23和1到1.
http://www.exampledepot.com/egs/java.text/FormatNum.htmlNumberFormat問題
我有號碼1.23,我想格式化爲1,23。但是,如果我只有1,那麼我不想格式化爲1,00。
使用##,## 0.00 i格式1.23至1,23和1至1,00。我如何格式化1.23到1,23和1到1.
嘗試此圖案代替:##,###.##
DecimalFormat df = new DecimalFormat("##,###.##");
System.out.println(df.format(1.00));
System.out.println(df.format(1.23));
打印:
1
1.23
在圖案的0
顯示零爲 「0」,而表示#
零爲不存在。
似乎是你可以解決與本地問題,使用Frech作爲您的本地十進制格式。那麼你會得到','而不是'。'。
NumberFormat f = NumberFormat.getInstance(local);
if (f instanceof DecimalFormat) {
((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
}
或下面你可以做到這一點
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator(',');
DecimalFormat format = new DecimalFormat("###.00",symbols);
System.out.println(format.format(1.22));
NumberFormat format = NumberFormat.getNumberInstance();
format.setMaximumFractionDigits(2);
format.setMinimumFractionDigits(0);
System.out.println(format.format(1.23));
System.out.println(format.format(1.0));
也許這會有所幫助。
public class Main {
public static void main(String[] args) {
double f1 = 1;
System.out.printf("f1: %.2f%n", f1); // prints f1: 1.00
double f2 = 1.23;
System.out.printf("f2: %.2f%n", f2); // prints f2: 1.23
}
}
試試這個:
改寫asela的和grodriguez的答案
的DecimalFormatSymbols符號=新的DecimalFormatSymbols(); symbols.setDecimalSeparator(','); DecimalFormat format = new DecimalFormat(「###。##」,symbols); System.out.println(format.format(1.00)); System.out.println(format.format(1.23));
輸出:
1,23
乾杯!
-Saligh
如果你的語言環境,國家設置,有小數逗號作爲小數點分隔符,那麼它已經被Java處理,像瑞典語言環境:
double number = 1.23;
double otherNumber = 1.00;
System.out.println(NumberFormat.getInstance(new Locale("sv")).format(number));
System.out.println(NumberFormat.getInstance(Locale.ENGLISH).format(number));
System.out.println(NumberFormat.getInstance(new Locale("sv")).format(otherNumber));
System.out.println(NumberFormat.getInstance(Locale.ENGLISH).format(otherNumber));
它打印
1,23
1.23