Manipulation prix ttc,ht, float, decimal etc...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 oct. 2010, 14:14

Tiens, voilà ce que je m'étais fait comme méthode :
	static public function truncate($amount, $digit = 2)
	{
		// Construction du multiplicateur permettant de déplacer la virgule au niveau de précision que 
		//		l'on attend
		$multiplier = pow(10, $digit);
		
		// On retourne le montant tronqué à la précision demandée
		// Exemple : montant d'origine = 15.5698, $digit = 2
		// 15.5698 * (10^2) = 1556.98
		// floor(1556.98) = 1556
		// 1556 / (10^2) = 15.56
		// donc truncate(15.5698) = 15.56
		return floor($amount * $multiplier) / $multiplier;
	}
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 3607 Messages

11 oct. 2010, 14:21

Yes!

Merci je n'avais pas pensé à utiliser les exposants pour décaler la virgule! ça sera beaucoup plus rapide avec ta méthode!
Par contre je m'étonne qu'il n'y est pas de fonction spécifique ou d'option supplémentaire pour round(), afin d'effectuer ce type de traitement... :/

Merci encore ;)

ViPHP
ViPHP | 5462 Messages

11 oct. 2010, 14:30

presque HS mais j'ai pas le fonction money_format sur php 5.3.3 vc6 :shock:

ViPHP
ViPHP | 3607 Messages

11 oct. 2010, 14:32

bah voilà ce que c'est que de courir après les version de dev! :) :p

ViPHP
ViPHP | 5462 Messages

11 oct. 2010, 14:51

bah voilà ce que c'est que de courir après les version de dev! :) :p
c'est pas une version de dev la 5.3.3 :wink:

ViPHP
ViPHP | 3607 Messages

11 oct. 2010, 14:53

Yé soui plou là... :-*