[php/mysql] problème de conversion de type

Résolu
saad0n -  
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un gros problème de cast

situation
j'importe un champ à partir d'un csv. Lorsque je fais un
var_dump( $chiffre_d_affaire)
ca donne cela:
string(14) "149 631,59 € " string(14) "103 557,88 € " string(13) "56 302,21 € "

problème
mon problème est que lorsque j'insere ce champ dans ma base mysql qui contient un champs "chiffre_d_affaire" qui est de type " decimal (8,2 ) " ( trop d'informations :) ?) les valeurs suivantes sont enregistrées :
chiffre_d_affaire
149.00
103.00
56.00
j'ai tenté de
faire un
settype ( $chiffre_d_affaire, "float" )

multiplier par 1.00

faire un cast
 $chiffre_d_affaire = (real) ($chiffre_d_affaire)

ou
floatval( $chiffre_d_affaire )

et rien ne marche

toute aide sera la bienvenue
merciiii


A voir également:

1 réponse

Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Je pense que le problème vient de ton espace... Essaye de le supprimer à la main où avec une fonction de type substr() ou trim ou autre...
1
saad0n
 
bien joué c'est la deuxième fois que tu me sauves :D
c'est un problème d'espace comme tu l'avais dit mais aussi je dois remplacer la virgule par un point
merci beaucoup
je mets la solution au cas où ( en appelant chiffre_d_affaires champs16 )
$champs16 = str_replace( ' ', '', $champs16);
$champs16 = str_replace( ',', '.', $champs16);
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
str_replace() c'est ça que je voulais mettre à la place de autre mais ça m'est pas revenu ;-)
Bien joué.
Bonne continuation...
0