我想在我的Laravel项目中添加货币格式

我想在我的Laravel项目中添加货币格式,laravel,Laravel,如何使用小数部分验证货币格式 我的请求是12133.00。你试过了,但到目前为止还不好。我是初学者 public function store(Request $request) { $this->validate($request, [ 'price'=>'required|numeric', ]); } 嗯,我并没有期望太多 public function store(Request $request) { $this-&g

如何使用小数部分验证货币格式

我的请求是
12133.00
。你试过了,但到目前为止还不好。我是初学者

public function store(Request $request)
{   
    $this->validate($request, [ 
       'price'=>'required|numeric',
    ]);
}
嗯,我并没有期望太多

public function store(Request $request)
{   
     $this->validate($request, [ 
        'price'=>'required|numeric',
      ]);  

    $product->price=Input::get('price');

}

您要做的是使用本机php number_format()函数。 位于此链接上的文档。您要做的如下操作:

$product = new Product;
$product->price = number_format($request->price, 2, ".", ",");
  • 其中,第一个参数是要格式化的数字
  • 第二个参数是您需要的小数位数
  • 第三个参数是您希望如何分隔小数
  • 最后一个参数是你想要如何分离千个
您甚至可以将其简化为:

$product->price = number_format($request->price, 2);

希望这有帮助。

您可以利用Regex并尝试类似的方法

$this->validate($request, [ 
   'price'=>"required|regex:/^[0-9]{1,3}(,[0-9]{3})*\.[0-9]{0,2}+$/",
]);
这将检查数千和小数

应适用于1.00、10.00、100.00、1000.00等,但不会使用缺少的逗号验证1000.00


让我知道这是否符合您的预期。

可能重复@DelenaMalan No,但在这种情况下,他不想格式化它。正如所说,输入的数据不应该已经是正确的。他假定您只需输入一个带小数的数字。12356.1548将变成12356.15这不是我理解他的问题的方式。毕竟,他使用了“验证”这个词。很高兴听到这个词