duan19850312 2015-01-20 21:49
浏览 75

float和varchar中的Laravel 4和MYSQL列

I have problem with some table in MySQL database and read it with Laravel4. This is how to look like results when put float(6,2) coloumn for price: float(6,2)

And this is look like if I put same column into varchar(6): varchar(6)

Did someone know what is the problem and how to fix it? I have other table with float(5,2) column and laravel show results correctly. I use only Model::get() to get data from database and Model (model is name of table in both times) is simple:

class Model extends Eloquent
{
use SoftDeletingTrait;
protected $dates = ['deleted_at'];
protected $primaryKey = 'idreceive';
protected $table = 'model';
}
  • 写回答

1条回答 默认 最新

  • dongqiao6445 2015-01-20 21:59
    关注

    The problem is that you're using an comma , instead of an dot . to separate the float decimal.

    So you need to convert your input from this:

    121,51

    To this:

    121.15

    Here's an SO question on how to solve this problem

    Code from that answer:

    $string_number = '1.512.523,55';
    // NOTE: You don't really have to use floatval() here, it's just to prove that it's a legitimate float value.
    $number = floatval(str_replace(',', '.', str_replace('.', '', $string_number)));
    
    评论

报告相同问题?

悬赏问题

  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条