在我的代码中我使用整数乘以100作为小数(0.1是10等)。你能帮我格式化输出以显示为十进制吗?
答案 0 :(得分:27)
int x = 100;
DecimalFormat df = new DecimalFormat("#.00"); // Set your desired format here.
System.out.println(df.format(x/100.0));
答案 1 :(得分:10)
我会说使用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
答案 2 :(得分:5)
您可以通过除以它们的因子(作为双精度)
来打印出作为整数编码的十进制数int i = 10; // represents 0.10
System.out.println(i / 100.0);
打印
0.1
如果您需要始终显示两位小数,则可以使用
System.out.printf("%.2f", i / 100.0);
答案 3 :(得分:1)
你可以试试这个: -
new DecimalFormat("0.00######");
或
NumberFormat f = NumberFormat.getNumberInstance();
f.setMinimumFractionDigits(2);
答案 4 :(得分:0)
你可以使用int的double instate。 它为您提供带小数的输出。 然后你可以用100除。
答案 5 :(得分:0)
你可以使用int的double instate。 它为您提供带小数的输出。
如果你想要数字站在点后面。你可以用这个:
**int number=100;
double result;
result=number/(number.length-1);**
我希望你能用这个。
答案 6 :(得分:0)
基于another answer,使用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));