未知格式转换异常?

时间:2015-01-16 22:40:42

标签: java printf

我有以下代码。在运行时,只要此方法执行生成UnknownFormatConversionException,就会生成异常。我试图将值显示为2位小数。

public void totalPrice(Vector <Stock> temp){
    if(!out){
        cst = temp.elementAt(l).getCost();
        cost = Double.parseDouble(cst);
        tax = ((cost * q) * 2)/100;
        price = (cost * q) + tax;
        System.out.printf ("Product Cost: € %.2f\n", (cost * q));
        System.out.printf ("Tax Total (2% rate): € %.2f\n", tax);
        System.out.printf ("Net Cost: € %.2f\n", price); 
        System.out.println ("============================================="); 
        System.out.println (); 
    }
}

1 个答案:

答案 0 :(得分:9)

如果要使用%%字面值,请使用%。此外,虽然不会导致您的错误,但您需要使用%n而不是\n

即,

System.out.printf ("Tax Total (2%% rate): € %.2f%n", tax);

有关详情的更多信息,您需要查看Formatter API

此外,如果您想显示货币,最好使用NumberFormat.getCurrencyInstance(Locale someLocale)