在我的代码中,我使用整数乘以 100 作为小数(0.1 是 10 等)。你能帮我格式化输出以显示为十进制吗?
问问题
69115 次
7 回答
29
int x = 100;
DecimalFormat df = new DecimalFormat("#.00"); // Set your desired format here.
System.out.println(df.format(x/100.0));
于 2012-10-20T16:34:07.710 回答
12
我会说使用0.00
格式:
int myNumber = 10;
DecimalFormat format = new DecimalFormat("0.00");
System.out.println(format.format(myNumber));
它会像这样打印:
10.00
这里的优点是:
如果你喜欢:
double myNumber = .1;
DecimalFormat format = new DecimalFormat("0.00");
System.out.println(format.format(myNumber));
它会像这样打印:
0.10
于 2012-10-20T16:38:14.400 回答
5
您可以通过除以它们的因子(作为双精度数)打印出编码为整数的小数
int i = 10; // represents 0.10
System.out.println(i / 100.0);
印刷
0.1
如果您需要始终显示两位小数,您可以使用
System.out.printf("%.2f", i / 100.0);
于 2012-10-20T16:41:17.587 回答
2
基于另一个答案,使用BigDecimal
,这也有效:
BigDecimal v = BigDecimal.valueOf(10,2);
System.out.println(v.toString());
System.out.println(v.toPlainString());
System.out.println(String.format("%.2f", v));
System.out.printf("%.2f\n",v);
甚至您的好老人DecimalFormat
也可以使用BigDecimal
:
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(v));
于 2017-03-15T20:32:02.080 回答
1
你可以试试这个: -
new DecimalFormat("0.00######");
或者
NumberFormat f = NumberFormat.getNumberInstance();
f.setMinimumFractionDigits(2);
于 2012-10-20T16:39:26.023 回答
0
您可以使用 int 的双重状态。它为您提供带小数的输出。然后你可以除以 100。
于 2012-10-20T18:17:58.913 回答
0
您可以使用 int 的双重状态。它为您提供带小数的输出。
如果你想让数字站在点后面。你可以使用这个:
**int number=100;
double result;
result=number/(number.length-1);**
我希望你能用这个。
于 2012-10-20T18:28:07.947 回答