我是Grails(2.2.0)的新手,并试图弄清楚如何在视图中格式化双值 . 我有很多它们,因此如果可能的话,我会更喜欢其中一个配置文件中的一些代码 .
视图中的所有值都使用g格式化:field ... type =“number”...
在resources.groovy,我有这个
beans = {
localeResolver(SessionLocaleResolver) {
defaultLocale= Locale.ENGLISH
Locale.setDefault (Locale.ENGLISH)
}
}
在我使用的messages.properties中
default.number.format=#'###'###.#
我不需要i18n . 我删除了那里的所有其他文件 .
此问题仅在视图中 . 所有数据都保持正确 .
这里有一些我想要的视图示例:
输入10输出10
输入0输出0
输入0.775输出0.775
输入0.7输出0.7
输入1234567.12345输出1'234'567.12345
最后一个例子不是ENGLISH的标准格式 . 而不是一千个分离器,我想'
我想如果我用的话
default.number.format=#'###'###.#
我不需要用g:formatNumber格式化每个值 .
我感谢任何帮助 . 提前致谢!
Edit
这是我的问题:
为什么default.number.format =#'###'### . ##在messages.properties中不起作用?
例如,我在我看来有这个:
<g:field name="mydouble" size="8" maxlength="20" type="number" value="${fieldValue(bean: myInstance, field: 'mydouble')}"/>
如何在此字段上使用g:formatNumber标记 . 我已阅读Grails文档,但显然我在理解它时遇到了问题 .
我写道,我是初学者,因此我可能会遗漏那些了解Grails非常明显的人 .
3 回答
在GSP中渲染数字时尝试使用
fieldValue
.不确定是否存在不使用默认值的问题,因为您遗漏了问题中的一些细节 . 所以在这里黑暗中拍摄 .
我不确定我是否理解这个问题,但请看看这是否适合你:
那么,您需要使用
'
作为小数分隔符吗?试试这种格式化方法:然后在您的视图中写入
${NumberUtilities.format(1234567.12345)}
.这只是一个想法,根据您需要的其他格式规则,为方法添加更多格式 .