Grails覆盖区域设置编号格式

时间:2012-07-11 09:29:07

标签: parsing grails

我有一个Grails应用程序,我想保存带小数位的数字,例如902.11。在我的应用程序中,我使用捷克语语言环境,因此小数点表示为逗号“,”而不是点“。”。但是在浏览器中我想通过Javascript进行一些计算,所以小数点必须用“。”来表示。

是否有解决方案,以便我可以在我的应用程序中自定义捷克语区域设置,因此它将使用“。”代替 ”,”?或者这个问题还有其他解决办法吗?

2 个答案:

答案 0 :(得分:2)

您应该使用formatNumber标记,并指定使用小数点的点的区域设置,例如

<script ...>
    var someNumber = <g:formatNumber number="${myNumber}" locale="en" />;
    // ... do some javascript calculations
</script>

答案 1 :(得分:0)

供参考:

当你将值写入页面时,

formatNumber会起作用,但是由于Grails数据绑定器是特定于语言环境的,因此Lojza可能希望将数字返回给控制器并不是直截了当的,所以它会期望数字是根据捷克语语言环境而不是基本JS格式进行格式化。

您可以覆盖将为您的应用程序设置全局的活页夹值转换器(可能不是您想要的),或者使用命令对象并将数值检索到命令对象的String属性中,这样Grails就不会尝试对其应用任何数字解析。然后根据基本JS格式手动将此字符串转换为数字。

相关问题