java中格式化的固定长度double

时间:2018-02-12 10:04:58

标签: java

我想格式化double数据类型值的输出 固定长度。我使用了以下代码,但在执行程序时遇到了一些错误。

这是我尝试过的:

double p = 80.00;
double r = 199999.00;
double n = 80.00;

System.out.printf("║%9.2f│%9.f│%9.2f│%9.2f║", p ,r ,n , p * (1 + r) * n);

我想得到这个输出:

║    80.00│199999.000000│    80.00│1280000000.00║

任何人都可以帮助我获得这种类型的输出吗? 我用它来创建一个原始值和计算值的表。

2 个答案:

答案 0 :(得分:1)

您的代码中存在错误,应该是:

System.out.printf("║%9.2f│%9f│%9.2f│%9.2f║", p ,r ,n , p * (1 + r) * n)

我用以下代码测试了它:

double p = 80.00;
double r = 199999.00;
double n = 80.00;
System.out.printf("║%9.2f│%9f│%9.2f│%9.2f║", p ,r ,n , p * (1 + r) * n);

结果如下:

║    80.00│199999.000000│    80.00│1280000000.00║

答案 1 :(得分:-1)

你缺少%9.f│中的号码,所以它应该像

System.out.printf("║%9.2f│%9.2f│%9.2f│%9.2f║", p ,r ,n , p * (1 + r) * n);