Calculer l'arrondi d'un prix et le mettre en forme pour l'affichage

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 753 fois - Téléchargée 36 fois

Contenu du snippet

Transforme un chiffre réel (virgule flotante) en un prix avec une précision "juste" de 2 chiffres aprés la virgule sous forme d'une chaine.

Ca parait simple, et pourtant... M'as fallut 1 heure pour y arriver, surtout quand ya 10, 20, ou N x 10 centimes pour ajouter le zéro à la fin :o|

Source / Exemple :


function ArrondiPrix(prix)
 {
 nxprix = new String();
 nxprix = Math.floor(prix) + ".";
 centime = new Number();
 centime = Math.round((prix - Math.floor(prix)) * 100);
 if (centime > 9) { nxprix = nxprix + centime; } else { nxprix = nxprix + "0" + centime; };
 return nxprix;
 }

Conclusion :


Prochainement grace à ce script: Achetez votre PC au juste prix avec www.netchallenge.fr

NB: Me dégoutez pas en disant qu'il y a déjà une fonction JS standard pour faire çà :o|

A voir également

Ajouter un commentaire Commentaires
apxa Messages postés 188 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 25 avril 2009
21 sept. 2004 à 11:57
iop olid,
tu as essayé :
function round(val, dec) {
return val.toFixed(dec);
}

have fun ;)
cs_olid Messages postés 296 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 28 janvier 2008
21 sept. 2004 à 12:31
Je m'en douté :o((((((((((

Bizarre, ma doc JS indique pas ce deuxieme argument de Round :o| ...Cest du JS 1.3 ou 1.5 ?

Et, il renvoi bien un string ? Car round est une fct de math... Devrait renvoyé un entier "10.3" ou lieu de "10.30", non ? :op
cs_olid Messages postés 296 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 28 janvier 2008
21 sept. 2004 à 12:33
Excuze mes questions idiotes incohérentes...mal réveillé :op
apxa Messages postés 188 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 25 avril 2009
21 sept. 2004 à 13:01
iop,
La fonction prend en 1er argument, un float ou integer (val) qui correspond à la valeur à arrondir et en deuxieme argument, un integer (dec) qui correspond au nombre de décimales désirées après la virgule.

function round() c'est le nom que je lui est donné (j'aurais pu l'appeler toto)
je l'ai appellé round car la fonction de round est définie ainsi sous la plus part des langage.

Tu peux en effet l'appeler round car celle que tu utilise fait partie de la classe Math donc n'en est point affecté elle ne sera pas surchargé si tu veux savoir.

En ce qui concerne ce que la fonction retourne, c'est un type float mais rien ne t'empeche de la convertir en string.
Sache tout de même que si c'est pour un affichage le type float s'affiche tout aussi bien que le type string.

Have Fun.
cs_olid Messages postés 296 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 28 janvier 2008
27 sept. 2004 à 12:30
Merci, marche nickel ton astuce :o) ... Et merci aussi pour m'avoir fais passer pour un gros newbie :o)))

A charge de revanche, beez ;op

Le dicton du jour: "L'humilité est la qualité des grands sages"

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.