php – 如何在MySQL中存储欧洲货币?

在我工作的新项目中,我有CSV格式的数据导入到mysql表中.其中一列是以欧洲格式存储货币的价格字段,即. 345,83.
我有的是存储这个十进制分隔符.在大多数欧洲货币中,十进制分隔符是“,”但是当我尝试在字段中插入十进制数字(例如345,83)时,我收到以下错误:“数据在行’行’列’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;
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...