【问题标题】:Laravel Blade form money/currency formatLaravel Blade 形式货币/货币格式
【发布时间】:2015-10-24 14:32:36
【问题描述】:

我正在使用 Blade 在 Laravel (4.2) 中构建一个表单。

输入类型有很多选项。但是,如何在输入字段中设置为货币字段?例如,当我想输入我为产品支付的金额时?

{{ Form::label('money', 'money:') }}
{{ Form::number('money') }}

我希望输入字段变成一个数字,用逗号分隔,后面有两个数字:

€ |此处输入字段|,|数字输入字段|

我希望它像这样显示。 150 欧元,54 欧元

你能告诉我该怎么做吗?带有一些文档链接的解释会很棒! http://laravel.com/docs/4.2/html#number 的 Laravel 文档并不是很有帮助

提前致谢!

【问题讨论】:

    标签: php forms laravel-4 integer blade


    【解决方案1】:

    我知道这不是“Laravel”的做法,但如果您正在寻找一种漂亮、干净的方式来向您的客户展示货币,而不是在服务器端处理,我建议您使用 jQuery格式货币:

    演示: http://www.bendewey.com/code/formatCurrency/demo/

    文档和下载:

    https://code.google.com/p/jquery-formatcurrency/wiki/Usage

    如果你想让它成为一个漂亮的模糊货币输入,只需使用:

         $('.currency').blur(function()
                {
                    $('.currency').formatCurrency();
                });
    

    我知道它现在很完美,但它对我有用,我喜欢它:)

    【讨论】:

    • 非常感谢!我的编程风格不是最干净的。我经常寻找黑客或其他方法来做到这一点,所以这对我有很大帮助!谢谢:-)
    【解决方案2】:

    从数字或货币的正确方法是在 Laravel 和 PHP 中,JavaScript 日期和时间格式可以根据本地设置而改变。

    您可以在 app/Providers/AppServiceProvider 文件中创建 Laravel 自定义刀片指令。

    在你的 AppServiceProvider 类的启动函数里面添加

    \Blade::directive('convert', function ($value) {
        return "<?php echo number_format($value, 2); ?>";
    });
    

    然后您就可以在刀片模板中使用

    @convert(293)
    

    返回 293.00

    number_format

    Laravel Custom Blade Directive

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-01
      • 2012-01-22
      • 1970-01-01
      • 2014-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多