[RESOLU] PHP is float

Eléphanteau du PHP | 21 Messages

04 sept. 2012, 11:10

Bonjour,
Dans ma requête je veux que si l'utilisateur Post un nombre décimal de multiplier par 100
Dans mon script si je saisi 2,50 ou 2.50 il me multiple que le 2 par 100 qui fait 200 alors que ça devrais être 250
'Weight' => (float)$_POST["Weight"] * 100,


j'ai tester avec ça toujours pareil
$the_a_RequestData ['PARCELS'] = array(
        'Weight' => is_float($_POST["Weight"]) ? $_POST["Weight"] : $_POST["Weight"] * 100 
Merci de m'aider à corriger

ViPHP
ViPHP | 2577 Messages

04 sept. 2012, 12:59

Essayes : 100.0 * (float) $_POST["Weight"]

edit ou 100.0 * floatval($_POST["Weight"])

Eléphanteau du PHP | 21 Messages

04 sept. 2012, 14:38

j'ai tester tjrs pareil

ViPHP
AB
ViPHP | 5818 Messages

04 sept. 2012, 22:54

$Weight = (float)(str_replace(',','.',$_POST["Weight"]));
echo $Weight*100;
après il peut y avoir les milliers séparés par un espace qui peuvent poser problème
$suppr = array(' ',',');
$remp = array('','.');

$var = '1 552,5';

$a = (float)(str_replace($suppr,$remp,$var));
echo $a*100;
Ces solutions fonctionnent pour la notation française.

Eléphanteau du PHP | 21 Messages

05 sept. 2012, 15:08

Merci ça fonctionner

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

05 sept. 2012, 15:11

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution :)
Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert "Mettre le sujet en tant que Résolu" situé en haut de la page à côté du titre du sujet.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...