Je fais un peu d'application d'ajouter des prix et des décimales. Les points sont normaux à utiliser avec des décimales, mais comment puis-je écrire un nombre décimal avec une virgule comme entrée (543,35 au lieu de 543,35), puis peut-être le modifier avec le point à la base de données (MySQL)? Ensuite, imprimez-le former la base de données avec la virgule. La raison est que la virgule (,) est plus utilisée en Finlande que le point (.) Lorsque vous écrivez des nombres décimaux. P>
Merci beaucoup! P>
samuel p>
5 Réponses :
Vous n'avez besoin de rien faire dans l'extrémité SQL. Vous souhaitez formater la valeur décimale dans PHP (Ceci assume PHP4 / PHP5): définissez le troisième paramètre $ dec_point à ',' Source:
http://php.net/manual/fr/function.number-format.php p> acclamations! p> p>
Merci! Maintenant, puis-je introduire un numéro avec une virgule 12,50 au lieu de 12,50 (plus facile pour le clavier finlandais) afin qu'il puisse être reconnaître avec les décimales?
Droit. Il vous suffit de vous soucier de la mise en forme du numéro à l'avant et de laisser MySQL le stocker comme d'habitude. Le nombre sous-jacent est toujours le même, peu importe la façon dont vous l'affichez.
Comme on l'a dit, il est préférable d'enregistrer la valeur comme un flotteur, puis format d'affichage. Comme alternative au numéry_format précédemment suggéré (), vous pouvez essayer money_format () http://us.php.net/manual/fr/function.money-format.php Cela ne fonctionne pas dans un environnement Windows si cela est important pour vous. P>
Oups, je pense que j'ai lu votre question trop vite ... vous n'avez pas besoin de format de devise, n'est-ce pas?
Oui, pas besoin de format de devise. Ce que je cherche toujours, c'est qu'il y a une possibilité d'écrire un nombre décimal avec une virgule comme entrée? Je ne sais pas si peut formuler ma question de bonne manière?
Non, en utilisant une virgule comme séparateur décimal pour les opérations arithmétiques n'est pas prise en charge. Filtrez votre entrée et remplacez la virgule avec une période, puis formatez votre sortie à votre guise. P>
Le php Number_Format La fonction est ce dont vous avez besoin: ... devrait faire le tour. p> p>
Ooops, c'est en fait pas ... mon mauvais. (D'un côté pas, je ne suis pas toujours surpris de voir des gens commentant de mauvaises réponses sans fournir une bonne. Allez les gars, vous apportez tellement à la communauté :)
$input = '5,50';
$output = str_replace(',', '.', $input);
var_dump($output); // string(4) "5.50"
$number = (float)$output;
var_dump($number); // float(5.5)
Si vous présentez plus d'un format, il s'agit d'un problème de présentation afin qu'il soit mieux traité dans PHP. Sinon, vous pouvez formater la valeur de SQL.