未知格式转换异常?

Unknown Format Conversion Exception?

我有以下代码。在运行期间,每当该方法执行生成UnknownFormatConversionException时,都会产生异常。我正在尝试将值显示为小数点后两位。

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 (); 
    }
}

当您想使用 % 文字时使用 %%。此外,虽然不会导致您的错误,但您需要使用 %n 而不是 \n.

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

有关详细信息,您需要查看 Formatter API

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