Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2122 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  arrondir avec sprintf

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

arrondir avec sprintf

n°1639757
freed102
Arayashiki
Posté le 09-11-2007 à 10:05:33  profilanswer
 

bonjour à tous,
 
Voila une question interessante... je cherche un moyen d'arrondir de façon optimale des prix...
je vais commencer par un exemple tout bete...
j'ai un article à 4.90€ HT... la TVA est à 2.1% ....j'en commande 5
 
resultat :
 
le prix unitaire TTC (arrondit) de l'article est donc de 5€...
 
... logiquement.. si j'en commande 5.. ça doit me retourner 25€ TTC ... non ?
 
et bien moi il me retourne 25.02€ !!!
 
j'en conclus donc que la valeur arrondie n'est pas prise en compte....
 
un peu de php :
 

Code :
  1. function price_format ($moneyfloat = null)
  2. {
  3.     $money_str = sprintf("%01.3f", $moneyfloat); // convert to rounded (to the nearest thousandth) string
  4.     $thous_pos = strlen($money_str)-1;                     // Thousandth string position
  5.     $hundt_pos = strlen($money_str)-2;                     // Hundredth string position
  6.     if ($money_str[$thous_pos] === "5" ) $money_str[$thous_pos] = ((int)$money_str[$hundt_pos] & 1) ? "9" : "0";
  7.     return sprintf("%01.2f",$money_str); // Return rounded value
  8. }
  9. $item['sous_total_ht'] = price_format($item['prix_unitaire']*$item['qte']);
  10. $item['sous_total_ttc'] = ($item['prix_unitaire']+price_format($item['prix_unitaire']*$item['tva']/100))*$item['qte'];


 
PS : je n'ai pas utilisé round($prix,2) parceque je ne sais pour quelle raison... mais mon prix se transformait en un caractère carré avec cette fonction... bizarre !
 
Merci d'avance pour votre aide
 
 
 

mood
Publicité
Posté le 09-11-2007 à 10:05:33  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  arrondir avec sprintf

 

Sujets relatifs
sprintf arrondi par exces ou par défaut ?[asp] arrondir nombre à x decimales sup/inf/auto
requete sql : arrondir une colonne a 2 décimalesPouvez vous m'aider sur la fonction 'sprintf'
Erreur header(sprintf("Location: %s", $deleteGoTo));arrondir en gardant les zéros inutiles
Arrondir un doublesprintf et mémoire
Arrondir ses fins de mois ?Arrondir une valeur suivant une 2 bornes
Plus de sujets relatifs à : arrondir avec sprintf


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)