Wie kann verhindert werden, dass zwei Ziffern nach einer Dezimalzahl gedrückt werden?

8

Ich habe eine Aufgabe zu verhindern, zwei Ziffern nach einer Dezimalzahl drücken.  Meine jquery-Datei ist

%Vor%

Meine HTML-Seite ist

%Vor%

hier möchte ich nur 2 Ziffern nach dem Komma schreiben, wie kann ich das tun? Sie können meinen Code in Ссылка

sehen     
Monica 28.03.2013, 11:23
quelle

4 Antworten

12

Sie können das Schlüsselereignis vor keyup auf keypress behandeln. Wenn die Eingabe nicht unseren Vorstellungen entspricht, können wir das Auftreten des Ereignisses verhindern. Etwas wie das:

Aktualisieren

Leider schlägt meine ursprüngliche Antwort auf bestimmte Zahlen fehl, die nicht genau als Float dargestellt werden können. Hier ist eine andere Lösung, die die Position des '.' Zeichens gegen die Länge der Zeichenkette mit einer praktischen Hilfsfunktion prüft.

jsFiddle

%Vor%

Ursprüngliche Antwort

jsFiddle

%Vor%

Beachten Sie, dass parseFloat(newValue) * 100 % 1 > 0 als wahr ausgewertet wird, wenn newValue eine Zahl mit mehr als 2 Dezimalstellen enthält.

    
Daniel Imms 28.03.2013, 11:34
quelle
3
%Vor%

Ссылка

Hör auf Briefe in die Box zu gehen, du musst die beiden zusammensetzen Ich habe keine Zeit.

%Vor%     
Rick Calder 28.03.2013 11:46
quelle
0

Dies könnte für einige hilfreich sein. Ich habe die Antworten dieses Typen gemischt, @Tats_innit von Ссылка und @Rick Calder oben.

BEARBEITEN auch von diesem Typ, isJustMe von Ссылка für den ParseFloat mit "|| 0". Denn wenn das Eingabefeld Null oder Null ist, wird "NaN" angezeigt und Sie können es nicht löschen.

HTML

%Vor%

JAVASCRIPT (JQUERY)

%Vor%

Der "Preis" ist vordefiniert.

Hinweis: haben immer noch Buggy-Inputs, aber kicken trotzdem. (y)

Weitere Informationen über toFixed - Ссылка

    
Quer 12.10.2017 21:26
quelle

Tags und Links