使用ICU将数字格式化为货币,以便在Google柱形图中使用

时间:2011-08-19 04:49:53

标签: string-formatting icu google-visualization

我正在使用谷歌图表来制作一个漂亮的柱形图,它实际上是一个非常简单的任务但我在以下几点陷入困境:我必须以这种方式格式化垂直轴上显示的值 - > “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图表时它显然不可用。

3 个答案:

答案 0 :(得分:3)

根据你的问题,我可以想象你是巴西人。因此,您应该先了解如何设置Google Charts的区域设置:

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

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

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

编辑:

  • locale:pt_BR
  • 格式:'¤#,## 0.00'

那应该为你做。 :)

答案 1 :(得分:0)

在格式化说明符中,您应该使用'R \ u00A4#,### 0.00'。 ,表示分组,.表示小数。这只是一种模式。您需要指定分组和小数字符是您喜欢的另一种机制。

答案 2 :(得分:0)

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

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