用逗号代替点的十进制数(php和sql)

sk.*_*sk. 7 php sql

我正在做一些添加价格和小数的应用程序.使用小数点是正常的,但是如何用逗号作为输入写入十进制数(543,35而不是543.35)然后可能用点指向数据库(mysql)来改变它?然后用逗号将数据打印回数据库.原因是芬兰语(,)在写入十进制数时比在点(.)中更多地使用.

非常感谢你!

塞缪尔

Ste*_*rig 11

$input  = '5,50';
$output = str_replace(',', '.', $input);
var_dump($output); // string(4) "5.50"
$number = (float)$output;
var_dump($number); // float(5.5)
Run Code Online (Sandbox Code Playgroud)


mir*_*zus 6

你不需要在SQL端做任何事情.你想格式化PHP中的十进制值(这假设php4/php5):将第三个参数$ dec_point设置为','

// string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep )
<?php

$number = 1234.56;

// French notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// english notation without thousands seperator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>
Run Code Online (Sandbox Code Playgroud)

来源:http: //php.net/manual/en/function.number-format.php

干杯!