如何在Twig文件中转换Word中的数字

问题描述 投票:0回答:3

我想将 Price:200$ 转换为 Price:Two Hundred$ 之类的单词。

在像这样的树枝中{{价格}},但这是显示号码。

有人知道如何在 Twig 中以文字形式显示这个价格吗?

twig
3个回答
3
投票

官方 Twig 扩展库提供的 Intl 过滤器可以拼出数字:

{{ 19.2|localizednumber('spellout') }}
{# Output: nineteen point two #}

要使此过滤器正常工作,需要 PHP intl 扩展,并且必须安装

twig/extensions
软件包。

如果您直接使用 Twig,请像这样注册扩展:

$twig->addExtension(new Twig_Extensions_Extension_Intl());

如果您使用 Symfony,请注册此服务:

services:
    Twig_Extensions_Extension_Intl:
        class: Twig_Extensions_Extension_Intl
        private: true
        tags:
            - { name: twig.extension }

0
投票

如果不添加此功能,Twig 将不会显示任何拼写的内容。查看 craue 的 TwigExtensionsBundle,它包含一个带有用于拼写数字的过滤器的 Twig 扩展。

https://github.com/craue/TwigExtensionsBundle

用途:

spelled out number: {{ price | craue_spellout }}

0
投票

根据 twigphp/twig-extensions 官方文档twigphp/twig-extensions 现已弃用。然而,有一个很好的替代方案。

对于 Twig 3.X,可以使用 format_number 过滤器,如 官方 twig 文档中所述。

但是,这个过滤器默认情况下不可用,所以我们需要在我们的项目中安装它:

composer require twig/intl-extra

此外,我们还需要安装:

composer require twig/extra-bundle

之后,在我们的twig文件中,我们可以简单地使用快捷方式过滤器format_spellout_number

{{ sale.total | format_spellout_number }}

瞧!

© www.soinside.com 2019 - 2024. All rights reserved.