Voici mon code et ma sortie est p> comme vous pouvez voir la sortie "Votre solde est de 1899,5 ' Affiche uniquement un chiffre de précision. J'ai besoin d'aide pour comprendre et résoudre le problème. Je veux deux chiffres de précision dans la sortie. P> Et aussi comment puis-je améliorer ce code? P> p>
3 Réponses :
number_with_precision(value, :precision => 2) Should work in Rails
Salut! Anthony, je ne suis pas encore sur les rails, je viens de commencer à apprendre de rubis mais j'apprécie votre réponse, se souviendra de ce code.
Vous pouvez utiliser ceci:
puts "Your balance is #{'%.02f' % a.rem}"
Merci Murifox, j'aimerais aussi savoir si je pouvais améliorer mon code de quelque manière que ce soit? Supprimer tout code inutile ou quoi que ce soit comme ça?
Votre code est bon. Il suffit de séparer la logique en petits morceaux de code afin que d'autres personnes puissent mieux la comprendre. N'oubliez pas que si la réponse était utile, vous pouvez toujours l'accepter d'aider les autres personnes.
Le dirigeant "0" devant "2" a-t-il une signification particulière ici?
@sschuberth pas vraiment. Juste pour montrer que cela peut avoir de gros chiffres.
C'est une faille de conception fondamentale pour stocker de l'argent comme un nombre de points flottant, car les flotteurs sont inexacts. L'argent doit toujours être stocké comme un entier dans la plus petite unité de monnaie.
Imaginez deux comptes avec 1,005. Affichez-les les deux et tout à coup, il y a un sou supplémentaire dans le monde. p>
stocke plutôt la quantité d'argent dans un entier. Par exemple, 1 $ serait Balance = 100 code> ou 100 centimes. Ensuite, formater la valeur affichée: p>
Cela a du sens, je me souviendrai sûrement de cela. Merci beaucoup d'avoir partagé vos connaissances avec moi.
puis-je le convertir en float sans perdre les 2 zéros à la fin
@ user4965201 qui n'a aucun sens. Un flotteur est un nombre et nous pouvons accepter 5,0 et 5,00 est le même numéro. Lorsque vous affichez 5.0 sur un site Web, vous devez convertir du numéro en chaîne, car un certain nombre est un concept abstrait et doit être communiqué via une langue humaine, dans ce cas de texte.
Oui, les numéros de points flottants peuvent obtenir Wierd. Au lieu d'entiers, je trouve plus facile à utiliser bigdecimal code> Ruby-Doc.org/stdlib-1.9.3/libdoc/bigdecimal/rdoc/...