有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何格式化字符串以显示两位小数

在将double转换为string并尝试格式化后,我在尝试获取小数点后两位时遇到了一个小问题

  pieChart.setCenterText("$" + "" + ""  +String.format( "% 1$ .2f", Double.toString(dataCost),""));

有谁能帮我改进上面的代码行,让它可以显示到小数点后两位吗?你也会注意到,我试图在美元符号和价值之间留一个空格


共 (5) 个答案

  1. # 1 楼答案

    下面的代码可能会对您有所帮助

    double a = 1.234567;
    double a = 2;
    NumberFormat nf = new DecimalFormat("##.##");
    System.out.println(nf.format(a));
    System.out.println(nf.format(a));
    

    输出将是

    1.23
    2
    

    如果需要,它只显示小数点,请欣赏!:)

  2. # 2 楼答案

    试试这个

     pieChart.setCenterText("$ " + String.format("%.2f", dataCost));
    
  3. # 3 楼答案

    试试这个

        float val = 1245.235645f;
        double ans = Double.parseDouble(new DecimalFormat("##.##").format(val));
    
        System.out.println(ans);
    

    Note : ##.## means 2 digits will be displayed after the .(dot)

    Package  : import java.text.DecimalFormat;
    

    这应该对你有帮助

  4. # 4 楼答案

    你可以使用DecimalFormat

    import java.text.DecimalFormat; 
    DecimalFormat money = new DecimalFormat ("$0.00");
    System.out.println(money.format(dataCost));
    
  5. # 5 楼答案

    你可以使用String.format("%.2f", d),你的双精度将自动四舍五入

    pieChart.setCenterText("$ " + String.format("%.2f", d));