Comment convertir une chaîne de 0E-11 en 0.00000000000 en Java ? Je veux afficher le nombre en notations non scientifiques. J'ai essayé de regarder le formateur de nombres en Java, cependant je dois spécifier le nombre exact de décimales que je veux mais je ne le saurai pas toujours. Je veux simplement le nombre de décimales tel que spécifié par mon nombre original.
Réponses
Trop de publicités?
erotsppa
Points
4310
Apparemment, la bonne réponse est d'utiliser BigDecimal et de récupérer les chiffres de précision et d'échelle. Puis d'utiliser ces chiffres dans le formateur. Quelque chose de similaire à ceci :
BigDecimal bg = new BigDecimal(rs.getString(i));
Formatter fmt = new Formatter();
fmt.format("%." + bg.scale() + "f", bg);
buf.append( fmt);
BullyWiiPlaza
Points
5382
Utilisation de BigDecimal
:
public static String removeScientificNotation(String value)
{
return new BigDecimal(value).toPlainString();
}
public static void main(String[] arguments) throws Exception
{
System.out.println(removeScientificNotation("3.0103E-7"));
}
Imprimés :
0.00000030103
Alysson Fonseca
Points
21
Powerlord
Points
43989
Je ne l'ai pas essayé, mais java.text.NumberFormat pourrait faire ce que vous voulez.