Wie formatiere ich eine Zahl auf 2 Dezimalstellen, aber nur wenn es bereits Dezimalzahlen gibt?

7

Ich habe ein jQuery 1.5+ -Skript, und Sie wählen eine Menge in einem Dropdown-Menü (1,2,3, usw.) aus und multiplizieren diese Menge mit 1,50, um Ihnen den Gesamtpreis anzuzeigen. Grundsätzlich - es multipliziert die gewählte Menge (1, 2, 3, usw.) mit dem Grundpreis von 1,50 $ - ABER - ich kann nicht herausfinden, wie man den Preis korrekt mit Dezimalzahlen anzeigt - Beispiel: wenn Sie eine Menge von 2 wählen, Der Preis wird korrekt als $ 3 angezeigt (keine Dezimalstellen). Wenn Sie jedoch 1 oder 3 wählen, wird der Preis als $ 1,5 / $ 4,5 angezeigt - es fehlt eine 0 in der Hundertstel Dezimalstelle.

Hier ist der Code - eine Idee, wie man eine zweite 0 zeigt, wenn es nicht schon zwei Dezimalstellen gibt? 3 $ sollten bei 3 $ bleiben, aber 4,5 $ sollten 4,50 $ usw. werden - ich kann es nicht zur Arbeit bringen, ohne ALLE Zahlen auf zwei Dezimalstellen zu zeigen, und da stecke ich fest!

%Vor%

Ich experimentiere mit etwas wie result = num.toFixed (2); aber es kann noch nicht funktionieren.

Danke, bitte!

    
Jamison 11.04.2011, 14:48
quelle

6 Antworten

14

Arbeitsbeispiel: Ссылка

%Vor%

});

%Vor%

    
Peeter 11.04.2011, 14:58
quelle
42
___ answer21907972 ___

Ich schlage vor:

%Vor%

Es fügt automatisch 0, 1 oder 2 Dezimalstellen hinzu.

    
___ qstnhdr ___ Wie formatiere ich eine Zahl auf 2 Dezimalstellen, aber nur wenn es bereits Dezimalzahlen gibt? ___ answer5623233 ___

Arbeitsbeispiel: Ссылка

%Vor%

});

%Vor%

    
___ answer5623156 ___

Wie wäre es mit

? %Vor%     
___ answer5624314 ___

Wenn eine Zahl% 1 keine Null zurückgibt, ist sie keine Ganzzahl.

%Vor%     
___ tag123jquery ___ jQuery ist eine beliebte Cross-Browser-JavaScript-Bibliothek, die das DOM-Traversal (Document Object Model), die Ereignisbehandlung, Animationen und AJAX-Interaktionen erleichtert, indem die Diskrepanzen zwischen Browsern minimiert werden. Eine mit jQuery gekennzeichnete Frage sollte mit jQuery in Zusammenhang stehen, daher sollte jquery von dem fraglichen Code verwendet werden, und mindestens eine jquery-nutzungsbezogene Elemente müssen in der Frage enthalten sein. ___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script). ___ answer45554591 ___

Eine andere Möglichkeit besteht darin, die Zeichenfolge in eine Zahl umzuwandeln und die Tatsache zu nutzen, dass 0,00 falsch ist, um zu bestimmen, wie sie angezeigt wird:

%Vor%

Wo wie:

%Vor%     
___ tag123html ___ HTML (Hyper Text Markup Language) ist die Standard-Auszeichnungssprache, die zum Strukturieren von Webseiten und zum Formatieren von Inhalt verwendet wird. HTML beschreibt die Struktur einer Website semantisch zusammen mit Hinweisen für die Präsentation, wodurch sie eine Markup-Sprache statt einer Programmiersprache wird. Die neueste Revision der HTML-Spezifikation ist HTML5.2. ___ tag123decimal ___ Dezimal ist der Name für unser gemeinsames Basis-Zehn-Zahlensystem. Es kann sich auch auf nicht ganzzahlige Werte beziehen, die mit einem Dezimalpunkt ausgedrückt sind. ___ answer5223195 ___

Dies sollte die Arbeit machen:

%Vor%     
___ qstntxt ___

Ich habe ein jQuery 1.5+ -Skript, und Sie wählen eine Menge in einem Dropdown-Menü (1,2,3, usw.) aus und multiplizieren diese Menge mit 1,50, um Ihnen den Gesamtpreis anzuzeigen. Grundsätzlich - es multipliziert die gewählte Menge (1, 2, 3, usw.) mit dem Grundpreis von 1,50 $ - ABER - ich kann nicht herausfinden, wie man den Preis korrekt mit Dezimalzahlen anzeigt - Beispiel: wenn Sie eine Menge von 2 wählen, Der Preis wird korrekt als $ 3 angezeigt (keine Dezimalstellen). Wenn Sie jedoch 1 oder 3 wählen, wird der Preis als $ 1,5 / $ 4,5 angezeigt - es fehlt eine 0 in der Hundertstel Dezimalstelle.

Hier ist der Code - eine Idee, wie man eine zweite 0 zeigt, wenn es nicht schon zwei Dezimalstellen gibt? 3 $ sollten bei 3 $ bleiben, aber 4,5 $ sollten 4,50 $ usw. werden - ich kann es nicht zur Arbeit bringen, ohne ALLE Zahlen auf zwei Dezimalstellen zu zeigen, und da stecke ich fest!

%Vor%

Ich experimentiere mit etwas wie result = num.toFixed (2); aber es kann noch nicht funktionieren.

Danke, bitte!

    
___
odrm 11.04.2011 14:55
quelle
10

Ich schlage vor:

%Vor%

Es fügt automatisch 0, 1 oder 2 Dezimalstellen hinzu.

    
DGV 20.02.2014 12:34
quelle
9

Wie wäre es mit

? %Vor%     
Pointy 11.04.2011 14:52
quelle
4

Wenn eine Zahl% 1 keine Null zurückgibt, ist sie keine Ganzzahl.

%Vor%     
kennebec 11.04.2011 16:17
quelle
0

Eine andere Möglichkeit besteht darin, die Zeichenfolge in eine Zahl umzuwandeln und die Tatsache zu nutzen, dass 0,00 falsch ist, um zu bestimmen, wie sie angezeigt wird:

%Vor%

Wo wie:

%Vor%     
user2653980 07.08.2017 19:44
quelle

Tags und Links