【问题标题】:Formatting number to currency with ICU for use in Google Column Chart使用 ICU 将数字格式化为货币以在 Google 柱形图中使用
【发布时间】:2015-08-12 22:58:43
【问题描述】:

我正在使用 Google Charts 来制作漂亮的柱形图,这实际上是一项非常简单的任务,但我陷入了以下问题:我必须以这种方式格式化垂直轴上显示的值 -> "R$ 1.000,00"(对于巴西货币),然后我在googles documentation page about columns charts 发现可以提供一个 ICU 表达式来按照我想要的方式格式化数字,包括货币格式。

--------------------------------| ICU SYNTAX BELOW |
vAxis: {title: 'VALUES', format: 'R\u00A4 #.###0,00'}

这是我能得到的最接近的,但这个表达式给了我:

1000 -> R$ 1000.00 when it should be R$ 1.000,00

所以我的两个问题是:

1) 无法显示千位分隔符 2)不能用“。”替换千位分隔符和小数分隔符由“,”

在网上搜索了很多关于 ICU 本身的东西,描述了如何通过调用 ICU C++ lib 中的一些方法来实现它,但在处理 w/google 图表时显然不可用。

【问题讨论】:

    标签: string-formatting icu google-visualization


    【解决方案1】:

    根据您的问题,我可以想象您是巴西人。所以,你应该先看看如何设置谷歌图表的语言环境:

    http://code.google.com/apis/chart/interactive/docs/library_loading_enhancements.html#loadwithlocale

    之后,您应该将格式设置为 ICU 格式:

    http://icu-project.org/apiref/icu4c/classDecimalFormat.html#_details

    编辑:

    • 语言环境:pt_BR
    • 格式:'¤#,##0.00'

    这应该为你做。 :)

    【讨论】:

      【解决方案2】:

      在格式说明符中,您应该使用“R\u00A4 #,###0.00”。 , 表示分组,. 表示十进制。这只是一个模式。您需要通过其他机制指定分组和小数字符是您喜欢的字符。

      【讨论】:

      • @Renato 不,我没有,也许我应该将其作为评论而不是答案 - 只是试图纠正模式部分。 R\u00A4 也是错误的,它是“R”+符号“$”。您应该只需要 format:"\u00A4 #,###0.00" 然后联系/提交一个带有谷歌图表的错误,询问如何正确地将货币设置为 Real 和区域设置。
      【解决方案3】:

      使用新的 API,现在可以获取货币格式。

      对于柱形图,你可以试试 vAxis: {format: 'currency'}.

      【讨论】:

        猜你喜欢
        • 2012-03-11
        • 1970-01-01
        • 1970-01-01
        • 2016-10-01
        • 2013-10-18
        • 2011-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多