将数据插入数据库表字段,类型为decimal(12,2)

时间:2016-05-23 06:45:27

标签: php mysql codeigniter csv mariadb

我正在csv导入数据库,我成功读取了csv文件内容,以下代码将内容导入数据库。

<?php  
foreach ($data as $value) {
  $data = array (
    'checklist_item_id' => ($this->table == 'checklist_item') ? $this->id : null,
    'imp_sequence_no'   => $value['Sequence No.'],
    'imp_vendor_tin'    => $value['Vendor TIN'],
    'imp_vendor_name'   => $value['Vendor Name'],
    'imp_input_vat_per_client' => $value['Input VAT per client'],
    'imp_gsi    '       => $value['Goods/Services/Importations']
  );
  $this->db->insert("transaction", $data);
}
?>

这一行

  'imp_input_vat_per_client' => $value['Input VAT per client'],

的代码,有一个带小数点的值,有时还带有逗号。

例如:

  624.00
  312.00
  1,137.57

imp_input_vat_per_client是一个类型为decimal(12,2)的字段名称。

我成功将数据插入数据库,但所有行中的字段imp_input_vat_per_client的值为,

  0.00

你能解释一下会发生什么吗? 该怎么办?

1 个答案:

答案 0 :(得分:0)

变化:

'imp_input_vat_per_client' => $value['Input VAT per client'],

'imp_input_vat_per_client' => floatval(str_replace(',', '', trim($value['Input VAT per client']))),