【问题标题】:Jquery Globalization reverse algorithmJquery 全球化逆向算法
【发布时间】:2012-01-19 08:08:31
【问题描述】:

Jquery 全球化效果很好。

您可以像这样格式化货币:

$("#currencyInput").val(Globalize.format(100000.25, "c"));

是否可以反转格式以便能够重新编辑值? (保持文化格式)

$("#currencyInput").val(Globalize.reverseFormat("$100,000.25", "c"));// 100000.25

【问题讨论】:

    标签: jquery jquery-globalization


    【解决方案1】:

    Globalize 插件提供了您可以使用的parseInt()parseFloat() 方法:

    $("#currencyInput").val(Globalize.parseFloat("$100,000.25", 10, "c"));
    

    【讨论】:

    • 是的,我试过了,但它会将值转换回 javascript 语言,并且不再支持文化。例如,在“ro(罗马尼亚)”文化中,10000.25 == 10.000,25 如果我 Globalize.parseFloat("10.000,25") 它返回 10000.25 而不是 10000,25
    • 对不起,我是 stackoverflow 的新手,我不知道“Entery”键提交表单:)
    • 我不确定我是否理解。 parseFloat() 返回一个数字,而不是字符串,因此返回值使用除语言的小数点分隔符 (.) 之外的任何内容都没有意义。
    • 在文本输入中,我的值为“100.000,25 lei”(Globalize.format(100000.25, "c")。当用户关注该输入时,我想让他编辑值,但删除货币符号 --- 新值应该是“100000,25”,它尊重文化的货币格式。这只是为了显示目的。可能是这样的:link
    【解决方案2】:

    一个很老的问题,我知道,但是要删除货币符号并保持文化格式:

    如上所述,使用 Globalize.parseFloat 将货币格式的字符串值解析为数字。

    获取该值并将其格式化为特定于文化的 数字 字符串,而不是货币,再次使用 Globalize.format,但使用“n”参数,表明您想要一个号码:

       var x = Globalize.format(100000.25, "c")
       x = Globalize.parseFloat(x)
       x = Globalize.format(x, "n")
    

    【讨论】:

      猜你喜欢
      • 2013-07-31
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      • 2012-03-07
      • 2019-04-06
      • 2015-02-28
      相关资源
      最近更新 更多