2016-03-22 12 views
1

Ich bin neu mit Grails, ich habe ag: Feld für eine Preiseingabe, das Problem ist, dass der Benutzer eine Zahl mit Komma eingeben kann, zum Beispiel wenn Benutzer 4,23 eingeben wird verarbeitet werden als 423. Wie kann ich dem Benutzer die Eingabe eines Punktes anstelle von Komma erzwingen? Oder gibt es eine Möglichkeit, das Komma in der Eingangsnummer in einen Punkt zu konvertieren?Erzwinge Dezimalpunkt in g: Feld

Das ist mein grails tag:

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

... oder benutzen Musterattribut für g: Feld

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

Jeder möglicher Vorschlag

+0

Einige Länder verwenden Kommas anstelle von Dezimalstellen für Zahlen. Siehe jedoch http://stackoverflow.com/questions/6178332 – aldrin

Antwort

1

Verwenden g:formatNumber stattdessen hilfreich sein. Here können Sie ein Beispiel für das Zeitformat finden.

... oder ändern Koma für Punkt in ausgewählten Feld mit Javascript.

+1

Ich löste dies mit einem Musterattribut mit einem regulären Ausdruck: 'pattern =" [0-9] + (\\, [0-9] [0-9 ]?)? ", g: formatNumber ist für diesen Fall nicht geeignet, danke für die Ratschläge – fabrik

0

Ich war erfolgreich mit g:formatNumber.

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

Das Gebietsschema US, zwingt Gsp, einen Dezimalpunkt zu verwenden. Dennoch, ohne maxFractionDigits, zeigt es eine ganze Zahl.

Verwandte Themen