我的数据库中有一个名为“price”的整数字段
我有一个基本的文本表单字段
{{ Form::text('price', Input::old('price'), array('class' => 'form-control')) }}
我想从此字段中删除所有非数字输入
在我的控制器中:
$price = Input::get('price');
$price = (string)$price;
$price = preg_replace("/[^0-9,.]/", "", $price);
$price = (int)$price;
$this->title->price = $price;
但是当我输入例如。
时,我运行此代码123123,2432223
它只会将123123
保存到我的数据库中,逗号之后的输入永远不会保存?
答案 0 :(得分:2)
您正在将字符串转换为整数。整数是整数。你想要转换为(float)或(double)。
除此之外,,
不被视为小数点。 .
是。{/ p>
$this->title->price = (float) preg_replace("/[^\d,./]/", "", Input::get("price"));
答案 1 :(得分:1)
这应该有效:
$this->title->price = preg_replace('/[^0-9]/', '', Input::get('price'));