在一个新项目中,我正在以CSV格式导入到mysql表中的数据。列之一是价格字段,该字段以欧洲格式(即,欧元)存储货币。345,83。我遇到的问题是存储此十进制分隔符。在大多数欧洲货币中,十进制分隔符为“,”,但是当我尝试在字段中插入十进制数字(例如345,83)时,出现以下错误:“行’row#的列’column_name’的数据被截断了’”。如果我使用“。” 而不是“,”可以正常工作。您能帮我吗,如何在mysql中存储这种格式?
您可以将其存储为数据库中的常规十进制字段,并在显示时格式化欧洲风格的数字
编辑:刚刚添加了一个示例,可能如何实现
$european_numbers = array('123.345,78', '123 456,78', ',78'); foreach($european_numbers as $number) { echo "$number was converted to ".convert_european_to_decimal($number)."\n"; // save in database now } function convert_european_to_decimal($number) { // i am sure there are better was of doing this, but this is nice and simple example $number = str_replace('.', '', $number); // remove fullstop $number = str_replace(' ', '', $number); // remove spaces $number = str_replace(',', '.', $number); // change comma to fullstop return $number; }