如何将Java程序更新为只显示两位小数

如何将Java程序更新为只显示两位小数,java,file-io,keyboard,decimal,rounding,Java,File Io,Keyboard,Decimal,Rounding,课堂作业基本上是有一个对话框,要求用户输入员工姓名、小时工资和一周的小时数。它将其输出到文本文件。我完成了那部分,老师说他发现输出有4位小数,例如34.5500 我来这里是想寻求帮助,我如何只能显示两个小数点,所以是34.55。这是我遵守的守则 package out.put.of.a.file; import javax.swing.JOptionPane; public class OutPutOfAFile { public static void main(String[] arg

课堂作业基本上是有一个对话框,要求用户输入员工姓名、小时工资和一周的小时数。它将其输出到文本文件。我完成了那部分,老师说他发现输出有4位小数,例如34.5500

我来这里是想寻求帮助,我如何只能显示两个小数点,所以是34.55。这是我遵守的守则

package out.put.of.a.file;

import javax.swing.JOptionPane;

public class OutPutOfAFile
{

public static void main(String[] args)
{
    OutputFile payFile;
    payFile = new OutputFile("payroll.txt");
    String name;
    Double pay, hours;
    String answer;
    Keyboard k;
    k = new Keyboard();

    do
    {
        name = JOptionPane.showInputDialog("Enter the employee's name:");

        pay = Double.parseDouble(JOptionPane.showInputDialog("Enter the employee's hourly wage:"));

        hours = Double.parseDouble(JOptionPane.showInputDialog("Enter the employee's total hours:"));

        payFile.writeString(name);
        payFile.writeDouble(pay);
        payFile.writeDouble(hours);
        payFile.writeEOL();

        answer = JOptionPane.showInputDialog("Do you have another employee to enter? (yes/no)");

    } while (answer.equalsIgnoreCase("yes"));

    payFile.close();
 }

}

查看如何使用
printf
功能。可以使用百分比修饰符填充代码。它支持整数(%d)浮点(%f)字符(%c)和字符串(%s)。所有内容都可以根据您的喜好进行格式化


System.out.printf(“%.2f”,浮动变量)

如果我理解你的问题,你可以使用


或者,您可以使用类似
String.format(“%.2f”,pay)的东西

如果您不想导入任何内容:

用法示例:

String.format("%.2f", number);

你可以在
NumberFormat
中做一些研究。。。
String.format("%.2f", number);