J'essaie de comprendre un moyen de convertir des kilogrammes (entrés par l'utilisateur) en pierre et en livres.
Par exemple: P>
L'utilisateur entre en poids sous 83.456 kg, multipliez ceci par 2.204622 à Convertissez en livres = 184 lb, divisez 184 lb de 14 à 14 pour convertir en pierre = 13,142 pierre. P>
Utilisez les deux premiers chiffres (13) pour la pierre et séparer le reste à multiplier par 14 pour obtenir des livres de 14. (Ceci est reste) x 14 = 1,988 lb, ou y a-t-il une autre façon d'obtenir ce résultat? p>
Par conséquent, le poids des personnes est de 13 pierre et de 2 livres (arrondi). P> < P> Voici ce que j'ai (cela fonctionne) jusqu'à présent: p>
3 Réponses :
Je suppose que vous avez déclaré que vous avez déclaré Un moyen de le faire est de le faire en 2 étapes distinctes, comme ci-dessous: P> livres code> et
pierre code> avant d'y utiliser ici (c.-à-d. avec
gounts flottants; code> ou
double livres ; code> ou
float knings = code> quelque chose) ou le code ne compilerait pas autrement.
double kg = 83.456;
double pounds = kg * 2.204622;
int stone = (int) pounds / 14;
pounds = (double) Math.round(pounds %= 14);
System.out.println("Stone: " + stone + "\nPounds: " + pounds);
Vous avez raison, j'avais déclaré les variables comme double code> plus tôt dans la classe, alors eu un peu de problèmes avec les autres suggestions. Votre deuxième suggestion est la solution, cela fonctionne bien. J'ai passé beaucoup de temps à essayer de le comprendre, je ne l'aurais pas résolu par moi-même, merci.
Si vous recherchez une bibliothèque prête à utiliser extensible, vous pouvez envisager une bibliothèque gratuite et une bibliothèque ouverte Il offre 30+ conversion hors de la boîte pour Exemple fort>: p> espère que cela aide! P> P>
La solution correcte des tours tôt. Voici le code comme suggéré par Mon commentaire initial < / a>: sortie em> p> Si vous utilisez plutôt mais c'est là que la chose est gênée si vous ne voyez pas tôt. p> Les deux solutions dans le (actuellement accepté) Réponse de Lightning a tort, car ils rondent au mauvais moment. Il y a une raison pour laquelle vous devez arrondir tôt. P> Si vous modifiez pour utiliser 69,853 kg dans ces deux solutions, vous obtenez p> Les deux sont évidemment incorrects , puisque La raison des erreurs d'arrondi devient évidente si vous imprimez les valeurs sans arrondir p> sortie em> p>
livres code> ne doit pas être 14, alias 1 pierre. p>
Grande explication. Je comprends maintenant toutes les réponses et pourquoi la vérité est la solution, merci.
Utilisez
long livres = math.round (kgs * 2.204622) code>, puis utilisez la division
/ code> et
% code> des opérateurs de reste pour calculer les pierres et les livres restants.
Ou si, pour une raison quelconque, vous ne vous souciez pas d'utiliser
% code>:
long pierre = livres / 14; int LBREM = livres - (pierre * 14); code>
@Andreas hmm, je penserais que l'on veut
étage code> (c'est-à-dire aller en marche) au lieu de
rond code> (qui peut arrondir ou descendre). Ce qui reste après l'arrondi est la partie fractionnée de la plus grande unité (pierres dans ce cas).
@RobertDODIER Question dit spécifiquement: Par conséquent, le poids des personnes est de 13 pierre et 2 livres ( arrondis ou bas b>). I>