défaut de décimal - PHP - Programmation
Marsh Posté le 10-04-2008 à 14:01:39
je ne suis aps sur que tu doivent mettre des '' autour d'un champ de type float
Marsh Posté le 10-04-2008 à 14:08:19
flo850 a écrit : je ne suis aps sur que tu doivent mettre des '' autour d'un champ de type float |
Ni un champ de type int, mais je pense surtout que le problème est d'avoir écrit 0,55
Marsh Posté le 10-04-2008 à 18:26:59
non;non, j'ai écrit essentiellement avec le pavé numérique. Je ne sais pas ce que fait cette virgule. Est ce qu'il y aurait ce type de changement paramétrédans php ?
Marsh Posté le 10-04-2008 à 18:52:48
En fait c'est la function abs() qui modifie le point en virgule !!!
Marsh Posté le 11-04-2008 à 23:24:00
J'observe aussi ailleurs que sans passer par la function abs() j'ai le même problème. Ça devient vraiment inquiétant. Il suffit de faire
$variable += 3 |
et on se retrouve avec une virgule.
Marsh Posté le 11-04-2008 à 23:26:22
pas chez moi
sauf si tu utilise number_format avec les mauvais paramètres
Marsh Posté le 12-04-2008 à 15:18:56
Voici ce qui figure en tête de toute mes pages
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-15"> |
mais figure aussi ceci:
setlocale(LC_ALL, "fr_FR.UTF-8" ); |
Mon Pc quand à lui est en UTF8
$ locale |
Il doit surement y avoir un schmilblic la dedans...
Marsh Posté le 13-04-2008 à 22:07:55
Et voici encore un autre prb qui y ressemble.
mysql_query("UPDATE `stock_gpe` SET `selection`='$flag' WHERE `id` = ' $T_obj_stok_gpe_items[$j]->id_item' " ); |
PHP Catchable fatal error: Object of class stdClass could not be converted to string |
alors que si je fais
$id_item=$T_obj_stok_gpe_items[$j]->id_item; |
Ça passe...
Marsh Posté le 14-04-2008 à 11:34:45
1- tu mets un $id_item entre '' , pourquoi ?
2- "UPDATE `stock_gpe` SET `selection`='$flag' WHERE `id` = ' $T_obj_stok_gpe_items[$j]->id_item' " a rempalcer par "UPDATE `stock_gpe` SET `selection`='$flag' WHERE `id` = ". $T_obj_stok_gpe_items[$j]->id_item;
Marsh Posté le 15-04-2008 à 16:48:04
Salut
Le virgule vient d'un problème de locale. Cela change avec l'OS, mais j'ai constaté sur le serveur du boulot que le séparateur décimal en UTF8 est la virgule
Essaye un setlocale(LC_NUMERIC, 'fr_FR@euro ISO-8859-15').
Cela devrait supprimer cette virgule
Marsh Posté le 15-04-2008 à 22:41:44
C'est une bonne info... Je te remercie.
Marsh Posté le 10-04-2008 à 12:21:02
Bonjour.
J'ai un problème que je ne comprend vraiment pas.
j'ai un champ mysql float (8,2) dans lequel je veux mettre un chiffre: 0.55
Par phpmyadmin ça fonctionne donc j'ai considéré que mysql fonctionne....
Par mon appli je n'ai pas les décimals: = 0.00
Ce phénomène est constaté depuis que j'ai installé la mdv 2008.1 avec PHP Version 5.2.5
Mes scripts n'ont absolument pas changé.... Je ne trouve pas ce qui se passe.
$sql= "REPLACE INTO `bl_fournis`(`id`,`id_fourni` , `qte` , `qte_en_stock`, `pu_ht` , `num_bl` , `date_bl` ,
`id_cde` ,`id_stock` ,`num_fact` ,`code_art`,`date_fact`,`garantie`,`id_chantier`,`ttc`,`date_paie` )
VALUES('$value') ";
$result=mysql_query($sql) ;
if(!$result) { print 'register_BLF à échoué'.mysql_error(); $result = FALSE; }
$value = 0009725','094','100.00','100.00','0,55','13923','2008-04-10','0','0002357','','201161','0000-00-00','','0034515','0.00','0000-00-00
Ma valeur est bien envoyée correcteùent mais elle est mal enregistrée car si controle avec phpmyadmin le champ "pu_ht" est bien renseigné à 0.00
Il me faut trouver qui change la valeur en chemin.
J'ai fait l'essai avec 1.55 est le resultat est 1.00.
Pour une petite aide.... Merci.
---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/