2010-03-27 5 views
0

J'ai quelques petits problèmes de base:le formatage et la conversion en java

Comment formater:

int i = 456; 

pour donner sortie:

""00000456" 

? J'ai essayé% 08d mais ça ne marche pas. La prochaine chose est un problème avec la conversion, puis le formatage. J'ai le côté et la hauteur du triangle, disons 4,7, et 7 est la hauteur. A partir de la formule pour le champ, nous savons que F = 1/2 (a * h). Alors, comment obtenir F comme flottant, avec une précision jusqu'à 10 places?

float f = a*h; 

fonctionne très bien, mais en le multipliant par 0,5 donne erreur et par 1/2 renvoie 0.

+1

Vous devriez vraiment poser deux questions dans deux messages plutôt que de les combiner ... – TofuBeer

Répondre

0

La réponse était d'utiliser String.format.

String fs = String.format("%08d", this.id); 
    return fs; 
0

Comment formater:

int i = 456; pour donner sortie:

"00000456"

System.out.printf ("% 08d", i) peut faire le travail.

0

1/2 est une expression entière, il ne sera pas automatiquement converti en un flotteur.

1/2 doit être l'un de: 1.0f/2.0f, 1.0f/2, 1/2.0f, (flotteur) 1/(flotteur) 2, (flotteur) 1/2, 1/(flotteur) 2, flotteur variable/à virgule flottante variable, float variable/int variable, int variable/à virgule flottante variable, ... vous obtenez l'idée

0

devrait être %.08d au lieu de %08d, essayez d'autre part par la multiplication 0.5f place .