首页 > 解决方案 > java中的旧栗子“printf”和组合

问题描述

我正在编写一个 proggy,它将打印双打和文本的组合。

我的代码:

import java.io.*;

public class Test {
    public static void main(String[] args) {

        double seatCount = 10.50;
        double count = 11.58654;
        double stFare = 87.78965;
        

        System.out.printf(count / stFare + " * Standard  @ $ " + stFare + " = $" + count);
    }
}

哪些印刷品:

0.13198070615385754 * 标准 @ 87.78965 美元 = 11.58654 美元

如何合并 %X.Xf 以将第一个数字四舍五入为没有小数位的数字,并将最后两个数字四舍五入为 2 x deciaml 位,即

1 * 标准 @ 87.78 美元 = 87.78 美元

PS:计算是错误的,只是为了输入数字的样本!

标签: java

解决方案


这应该有效:

System.out.printf("%.0f * Standard @ $ %.2f = $ %.2f", count / stFare, stFare, count);

printf因为这是:占位符的语法,%[flags][width][.precision]conversion-character并且f是浮点数的转换字符,就像您使用double.


推荐阅读