J'utilise Stripe pour traiter les paiements avec une application Web Django. P>
Les prix de la base de données sont stockés en format décimal, par exemple. 100,00 P>
Stripe prend ceci comme $ 1 et ignore tout à droite du point décimal. P>
Je dois retirer le point décimal lors du passage de ce numéro à la bande. P>
Puis-je faire cela dans le modèle Django? P>
3 Réponses :
Utilisation de Filtre de format flotté Vous pouvez le faire:
value Template Output 34.23234 {{ value|floatformat:"0" }} 34 34.00000 {{ value|floatformat:"0" }} 34 39.56000 {{ value|floatformat:"0" }} 40
Cela semble supprimer le point décimal et tout à la droite de celui-ci, au moins en train de regarder les exemples de la documentation. J'ai besoin de retirer le point décimal et de tout garder à la droite de cela présent. Est-ce possible avec le format de flotteur?
Vous pouvez l'arrondir à l'entier le plus proche.
Je ne veux pas m'arrêter, j'ai besoin de l'afficher sans le point décimal. Donc 340.00 code> doit afficher comme
34000 code>, pas d'arrondi
@ Jakakerankin d'accord, je vous recontacterai avec la solution.
Je pense que vous pouvez utiliser un Filtre personnalisé dans des modèles, comme celui-ci:
{% load remove_decimal_point %} .... {{ val|remove_decimal_point }}
Je conseillerais de l'utiliser, car il pourrait y avoir des cas, où la valeur comporte plus de 2 décimales.
Cela dépend un peu de votre implémentation. Quelque chose comme ça devrait fonctionner dans tous les cas: Ceci produit: p> Ce premier tour à deux décimales, multiplie par 100 et moulages entier et ensuite string. Selon votre intégration de la bande, vous pouvez ignorer la coulée en intiqueger et à la chaîne. P> Sauter de la coulée sur Int produira un résultat comme celui-ci: P> {{ total_price|stripeconversion }}
Vous pouvez essayer Filtre à flotteur dans Modèle Django
docs.djangoproject.com/fr/dev/ref / Modèles / Construits / ...