NumberFormat允许零或两个挖掘者?

时间:2015-09-14 12:49:26

标签: java number-formatting

我像这样使用Java NumberFormat:

NumberFormat format = NumberFormat.getNumberInstance(locale);
format.maximumFractionDigits = 2;
String number = format.format(price);

当double值为:19.95时,我将19,95正确本地化为德语格式。 当double值为:19.5时,我得到19,5,这是一种错误的格式。

如果价格是19.50,我需要准确地得到两个挖掘者,即19,50。 如果价格是19.00,我需要得到零挖掘者,即19。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

这对我有用:

    NumberFormat format = NumberFormat.getNumberInstance(Locale.GERMAN);
    format.setMinimumFractionDigits(2);
    format.setMaximumFractionDigits(2);
    double price = <your price>;
    int priceAsInt = (int)price;
    if(((double)priceAsInt) == price) {
        String number = String.valueOf(priceAsInt);
        System.out.println(number);
    } else {
        String number = format.format(price);
        System.out.println(number);
    }