比较Angular中的本地化小数

时间:2018-04-04 08:53:24

标签: angular internationalization

我正在使用i18n申请。目前,我有一个十进制值的列。

对于en,它将是0.10。 对于fr,它将是0,10。

我的问题是我将此列与整数进行比较。

return myDecimalValue < 5;

现在这适用于en,但在fr上失败。有没有一种方法可以格式化我的十进制值,我可以将它正确地与整数进行比较?

1 个答案:

答案 0 :(得分:0)

与之前的版本(2.x)相比,我使用了.toLocaleString()的自定义管道。

@Pipe({ name: 'format' })
export class NumberFormatter implements PipeTransform {
    transform(_number: any, lang: string) {
        if (_number) {
            let floatNumber = parseFloat(_number);
            let lang = "fr-FR";
            if (!lang || lang == "fr") {
                lang = "fr-FR";
            } else if (lang == "en") {
                lang = "en-US";
            }
            return floatNumber.toLocaleString(lang);
        }
    }
}

并查看模板:

<p>{{ decimal | format:'en' }}</p>