我对 MySQL 数据库中的某些表有疑问,并使用 Laravel4 读取它。这是将 float(6,2) 列作为价格时的结果:
如果我将同一列放入 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/