gpt4 book ai didi

jquery-globalization - 无千位分隔符的数字格式

转载 作者:行者123 更新时间:2023-12-01 12:51:34 25 4
gpt4 key购买 nike

是否有一种数字格式可以生成没有千位分隔符的本地化数字?

 Globalize.format("1000.12", "n?" )

我意识到我可以做到:

Globalize.culture().numberFormat[","]="";

但我有一些字段需要关闭,而有些字段应该打开。例如...如果值为:

1000.123 -> 希望它根据语言环境显示格式化为 1000,12 或 1000.12..但没有千位分隔符。

最佳答案

您可以使用“d”格式而不是“n”格式来排除千位分隔符。

Globalize.format(1000.12, "d");

编辑
请注意,这仅在您不关心小数部分时才有效。

如果您关心小数部分,据我所知,您不能排除千位分隔符,除非通过以下方法之一:

  1. 将文化对象中的千位字符设置为空字符串:

    Globalize.culture().numberFormat[","] = "";
    Globalize.format(1000.12, "n");

    你可以很容易地将它变成一个效用函数:

    function formatNumberNoThousands(num, format, culture) {
    var numberFormat = Globalize.cultures[culture || Globalize.culture().name].numberFormat,
    thousands = numberFormat[","];
    numberFormat[","] = "";
    try { return Globalize.format(num, format, culture); }
    finally { numberFormat[","] = thousands; }
    }
  2. 对格式的字符串结果执行替换:

    Globalize.format(1000.12, "d").replace(new RegExp("\\" + Globalize.culture().numberFormat[","], "g"), "");

    它也可以很容易地变成一个效用函数:

    function formatNumberNoThousands(num, format, culture) {
    return Globalize.format(num, format).replace(new RegExp("\\" + Globalize.culture(culture).numberFormat[","], "g"), "");
    }

    使用这种方法,如果您知道格式化结果中的字符永远不会超过一千个,您可以删除正则表达式。否则,如果您计划大量使用它或在循环内使用它,您将需要缓存正则表达式并重新使用它。

关于jquery-globalization - 无千位分隔符的数字格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12147867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com