为什么十进制格式没有正确格式化?

时间:2015-07-20 14:40:29

标签: java methods format

我正在通过为每次转换创建方法来创建一个英制到公制转换程序。我想将转换前后的数字格式化为两位小数。截至目前,它显示我“100英寸= 254厘米”。出了什么问题?

String strConversionChoice, strValue;
    double  dblInputValue;
    int intConversionChoice;

    strConversionChoice = txtInputConversionChoice.getText();
    strValue = txtInputValue.getText();

    DecimalFormat x = new DecimalFormat("###.##");
    intConversionChoice = Integer.parseInt(strConversionChoice);
    dblInputValue = Double.parseDouble(strValue);

    if (intConversionChoice == 1) {
        lblOutput.setText(x.format(dblInputValue) + " inches = " + x.format(inchesToCentimetres(dblInputValue))+ " centimetres");
    }
    else if (intConversionChoice == 2) {
        lblOutput.setText(x.format(dblInputValue) + " feet = " +x.format(feetToCentimetres(dblInputValue)) + " centimetres");
    }

1 个答案:

答案 0 :(得分:0)

当你在DecimalFormat类中使用#时,如果存在非零分数则显示数字,否则它不显示任何内容,如果你想看到数字,则使用0代替#。

请参阅 link