Ich habe ein Uhrenskript. Alles ist in Ordnung und es funktioniert perfekt, aber ... Ich habe ein Problem. Wenn an der Uhr eine einstellige Stunde oder Minute wie 1: 5 Uhr eingestellt ist, wird vorher keine "0" Ziffer hinzugefügt. Das was ich getan habe, aber es funktioniert nicht. Kannst du mir helfen, viel thx?
%Vor% Sie können .slice
verwenden, um einen Teil einer Zeichenkette zu extrahieren. Übergeben Sie eine negative Zahl, um vom Ende der Zeichenfolge zu schneiden.
Daher ist Folgendes möglich und ganz einfach:
%Vor% Die Verkettung mit '0'
stellt sicher, dass das Ziel der Operation immer eine Zeichenkette ist. ('0'+currentMinutes)
ergibt eine 2 oder 3 Buchstabenfolge (zB "07" oder "017"). Wenn Sie die letzten beiden Zeichen von dieser Zeichenfolge trennen, erhalten Sie eine zweistellige 0-stellige Zahl.
Beachten Sie, dass das obige Ergebnis "00" ergibt, wenn currentMinutes
100
ist. Daher wird davon ausgegangen, dass Sie die Werte kennen, mit denen Sie arbeiten werden.
Dies könnte zu etwas wiederverwendbarer extrahiert werden:
%Vor%Damit könntest du schreiben:
%Vor%Sie können auch die Länge der Padding-Variablen festlegen:
%Vor%Was könnte wie heißen:
%Vor% Beachten Sie, dass currentMinutes.zeroPad()
funktioniert, 7.zeroPad()
jedoch nicht.
currentMinutes
hat keine length
Eigenschaft, da es sich um Number
und nicht um String
handelt.
Sie könnten erzwingen, dass es ein String
ist.
Aber , weil Sie Number
haben, sollten Sie Ihre Bedingung stellen ...
Wenn du besonders verrückt wärst, könntest du ...
machen %Vor%Sie können auch sprintf () auf Javascript prüfen.
Sie könnten mit etwas so einfach gehen wie:
%Vor%Wenn Sie Funktionen verwenden, die Formatierungen akzeptieren, haben Sie bei Bedarf mehr Kontrolle über Ihre Ausgabe.
Basierend auf den anderen Grannen habe ich diese Codezeilen erstellt:
Cu nächstes Mal.
Tags und Links javascript clock