web-dev-qa-db-ja.com

小数点以下2桁の整数をJava

私のコードでは、10進数として100を掛けた整数を使用しています(0.1は10などです)。 10進数として表示するように出力をフォーマットするのを手伝ってくれませんか?

14
user1749458
int x = 100;
DecimalFormat df = new DecimalFormat("#.00"); // Set your desired format here.
System.out.println(df.format(x/100.0));
28
Juvanis

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
10
Yogendra Singh

係数で除算することにより、整数としてエンコードされた10進数を(doubleとして)印刷できます。

int i = 10; // represents 0.10
System.out.println(i / 100.0);

プリント

0.1

常に小数点以下2桁を表示する必要がある場合は、

System.out.printf("%.2f", i / 100.0);
5
Peter Lawrey

別の答え に基づいて、 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));
1
YoYo

あなたはこれを試すことができます:-

new DecimalFormat("0.00######");

または

NumberFormat f = NumberFormat.getNumberInstance();
f.setMinimumFractionDigits(2);
1
Rahul Tripathi

intのdouble instateを使用できます。 10進数で出力します。そして100で割ることができます。

0
Ole van Santen

intのdouble instateを使用できます。 10進数で出力します。

数字をドットの後ろに置きたい場合。あなたはこれを使うことができます:

**int number=100;
double result;
result=number/(number.length-1);**

これを使って頂ければ幸いです。

0
Ole van Santen