Jinja2 ronde filtre pas arrondi
J'ai le code suivant dans mon template:
data: [{% for deet in deets %} {{ deet.value*100|round(1) }}{% if not loop.last %},{% endif %} {% endfor %}]
Je suis dans l'attente de données arrondi à 1 chiffre après la virgule. Cependant, lorsque j'affiche la page ou de la source, c'est le résultat que j'obtiens:
data: [ 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818 ]
Ce n'est pas arrondi à 1 chiffre après la virgule. Il s'exécute sans un modèle d'erreur ou quoi que ce soit, mais produit une sortie incorrecte. Ma compréhension à partir de la documentation, et même relié en un débordement de pile question, sont que mon format de travail. Ce qui me manque ou faire du tort?
Il ressemble à votre code est arrondi
Gotcha, je prends votre point, mais je suis passé à 100*base de deet.valeur | tour(3) et qui a résolu pour moi. Merci!
100
au lieu de produit de deet.value*100
. Vous devriez probablement vous préférez faire la multiplication dans votre code, et pas dans le modèle.Gotcha, je prends votre point, mais je suis passé à 100*base de deet.valeur | tour(3) et qui a résolu pour moi. Merci!
OriginalL'auteur Mittenchops | 2013-07-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez mettre des parenthèses autour de la valeur que vous voulez arrondir. (Cela ne fonctionne que pour la division ainsi, contrairement à ce que l' @sobri écrit.)
REMARQUE:
round
renvoie unefloat
donc, si vous voulez vraiment leint
vous avez à passer la valeur à travers ce filtre.OriginalL'auteur John R
Ne savais pas à l'opérateur de filtre a préséance sur la multiplication!
Suite à bernie commentaire, je suis passé
à
qui a résolu le problème. Je suis d'accord que le traitement devrait se faire dans le code d'ailleurs, et que ce serait mieux de la pratique.
OriginalL'auteur Mittenchops
Essayer cette
Si on n'a pas mis entre parenthèses, manche se faire seulement à 100 pas pour le résultat.
OriginalL'auteur Dithon
J'ai couru à travers ce... nécessaires int(mem_total /4) à jinja. Je l'ai résolu en faisant deux opérations:
OriginalL'auteur Dan Garthwaite