php - Float 和 varchar 中的 Laravel 4 和 MYSQL 列

标签 php mysql laravel-4

我对 MySQL 数据库中的某些表有疑问,并使用 Laravel4 读取它。这是将 float(6,2) 列作为价格时的结果: float(6,2)

如果我将同一列放入 varchar(6) 中,这看起来像: varchar(6)

有人知道问题是什么以及如何解决吗?我有其他带有 float(5,2) 列的表,laravel 正确显示结果。我只使用 Model::get() 从数据库和模型中获取数据(模型在两次都是表的名称)很简单:

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

最佳答案

问题是您使用逗号 , 而不是点 . 来分隔 float 。

所以你需要将你的输入转换为:

121,51

对此:

121.15

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

来自该答案的代码:

$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)));

关于php - Float 和 varchar 中的 Laravel 4 和 MYSQL 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28055774/

相关文章:

php - 使用 swift 的多部分电子邮件

javascript - 使用 Nodejs Web 服务器但没有框架对用户进行身份验证

MySQL:来自多个表的日期列的最大值

mysql - 在 mysql V2 中将行转换为列

javascript - 使表单动态化?

php - 如何使用 Symfony Validation 验证数组键?

php - 打开和关闭 pconnect

php - 通过 foreach 循环时插入额外的行

php - 覆盖 Eloquent 查询生成器

php - App::singleton 和 bindShared 有什么区别?