【问题标题】:Force decimal dot in g:field在 g:field 中强制使用小数点
【发布时间】:2016-10-02 00:15:27
【问题描述】:

我是 grails 的新手,我有一个 g:field 用于输入价格,问题是用户可以用逗号输入一个数字,例如如果用户输入 4,23,它将被处理为 423。如何我强制用户输入点而不是逗号?或者有没有办法将输入数字中的逗号转换为点?

这是我的 grails 标签:

<g:field type="number decimal" min="0" maxFractionDigits="2" roundingMode="HALF_DOWN" name="price" value="${fieldValue(bean: productoProveedorInstance, field: 'price')}" required=""/>

任何建议都会有所帮助

【问题讨论】:

标签: grails tags


【解决方案1】:

我成功使用了g:formatNumber

<g:formatNumber number="${myNumber}" maxFractionDigits="10" locale="US" />

美国语言环境强制 gsp 使用小数点。 然而,如果没有 maxFractionDigits,它会显示一个整数。

【讨论】:

    【解决方案2】:

    改用g:formatNumber

    <g:formatNumber number="${myNumber}" format="\\$###.##0" />
    

    ...或为 g:field 使用模式属性。 Here你可以找到时间格式的例子。

    ...或使用 javascript 在所选字段中为 dot 更改 coma

    【讨论】:

    • 我使用带有正则表达式的模式属性解决了这个问题:pattern="[0-9]+(\\,[0-9][0-9]?)?", g:formatNumber 不适用于这种情况,谢谢建议
    • 该标签&lt;g:formatNumber&gt; 用于显示数字,而不是格式化字段。
    猜你喜欢
    • 2020-11-06
    • 1970-01-01
    • 2021-09-07
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    相关资源
    最近更新 更多