dans mon code, j'utilise des entiers multipliés par 100 en décimales (0.1 = 10, etc.). Pouvez-vous m'aider à formater la sortie pour l'afficher sous forme décimale?
int x = 100;
DecimalFormat df = new DecimalFormat("#.00"); // Set your desired format here.
System.out.println(df.format(x/100.0));
Je dirais d'utiliser 0.00
comme format:
int myNumber = 10;
DecimalFormat format = new DecimalFormat("0.00");
System.out.println(format.format(myNumber));
Il va imprimer comme:
10.00
L'avantage ici est:
Si vous aimez:
double myNumber = .1;
DecimalFormat format = new DecimalFormat("0.00");
System.out.println(format.format(myNumber));
Cela va imprimer comme:
0.10
Vous pouvez imprimer une décimale encodée sous forme d’entier en la divisant par leur facteur
int i = 10; // represents 0.10
System.out.println(i / 100.0);
empreintes
0.1
Si vous devez toujours afficher deux décimales, vous pouvez utiliser
System.out.printf("%.2f", i / 100.0);
Vous pouvez essayer ceci: -
new DecimalFormat("0.00######");
ou
NumberFormat f = NumberFormat.getNumberInstance();
f.setMinimumFractionDigits(2);
Basé sur une autre réponse , avec BigDecimal
, cela fonctionne aussi:
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);
Ou même votre bon vieux DecimalFormat
travaillera avec BigDecimal
:
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(v));
vous pouvez utiliser double instate of int . cela vous donne une sortie avec des décimales. et ensuite vous pouvez diviser avec 100.
vous pouvez utiliser double instate of int . cela vous donne une sortie avec des décimales.
si vous voulez que le numéro soit placé derrière le point. vous pouvez utiliser ceci:
**int number=100;
double result;
result=number/(number.length-1);**
J'espère que vous pouvez vous en servir.