[Resolu] Division d'une variable par une autre et formatage

Eléphant du PHP | 291 Messages

14 juil. 2007, 17:01

Bonjour,

C'est la première fois que je veux faire ca et malgré les nombreuses doc cela ne marche pas, si quelqu'un avais une petite idée.

Je prend un chiffre à virgule que je divise par un entier et je veux afficher le résultat réel :

ex : 758,94 / 2 = 379,47

je pensais que cela serais bon : number_format($montant/$nb, 2, ',', ' ');


D'avance merci
Modifié en dernier par bunk le 14 juil. 2007, 20:21, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

14 juil. 2007, 17:44

Et quel problème as-tu exactement ?

On ne devrait jamais dire "ça ne marche pas" sur un forum de développement, mais "voici mon problème"

Eléphant du PHP | 291 Messages

14 juil. 2007, 17:54

le problème et bien par exemple la je test avec ceci :

$montant = '11,99'; // recup mysql
$nb = '2'

number_format($montant/$nb, 2, ',', ' ');


ce qui devrait me donner comme résultat : 5,995
et il me retourne : 11,00


si je remplace : number_format($montant/$nb, 2, ',', ' ');
par : number_format($montant/2, 2, ',', ' ');

il me retourne : 5,50 (toujours pas bon)



C'est un peu plus claire surement.
Merci de ton aide

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

14 juil. 2007, 18:20

regarde déjà ce que retourne $montant/$nb

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

14 juil. 2007, 18:37

T'as pas lu le manuel

:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(
:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(
:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(
:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(
:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(

Eléphant du PHP | 291 Messages

14 juil. 2007, 20:10

Escusez moi le resultat était 11 parcque je n'utilisais pas la bonne variable, effectivement, 11/1 ca fait 11,

Donc par contre 11,99/2 devrait donner 5,995 et non pas 5,50

En ce qui concerne le manuel, Hubert, je dirais plus que je n'ai pas compris les explications, parcque j'y ai passé un moment sur php.net

merci pour votre aide

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

14 juil. 2007, 20:13

Si tu regardes attentivement le manuel, tu verras que les nombres décimaux utilisent un point, et non une virgule.

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

14 juil. 2007, 20:15

Ben le manuel dit
Les nombres décimaux (connus aussi sous le vocable de "double", "float" ou "nombre réels") peuvent être spécifiés en utilisant la syntaxe suivante :
<?php
$a = 1.234; 
$b = 1.2e3; 
$c = 7E-10;
?>
Toi t'as écrit:
le problème et bien par exemple la je test avec ceci :
$montant = '11,99';
Normalement c'est le moment où tu t'aperçois que ta syntaxe ne correspond à aucune du manuel. Utilise une de ces trois syntaxes et ça devrait régler ton problème.

Eléphant du PHP | 291 Messages

14 juil. 2007, 20:21

houlala d'accord, j'avais pas du tout tilté pour le point !
j'aurais pu cherché longtemps, je sais pas ce que je cherché mais j'étais loin.


merci pour votre aide!