Vielzahl von Kodierung und Codierung
Dienstag, 14. Oktober, 2008Jemand macht geltend, dass die Programmierung ist eine Kunst, und letztlich kann ich nur zustimmen vor allem, wenn Lösungen gefunden werden sehr unterschiedlich für das gleiche Problem. Um zu verstehen, wie wahr das ist wie eine identische müssen in medisimo Sprache (Javascript) gelöst werden können, mit ganz unterschiedlichen Ansätzen und Original.
Linke Null-Pad
Eine Reihe, aber die Rede ist auch gültig für eine beliebige Zeichenfolge, wie z. B. 123 ausgefüllt werden kann auf der linken Seite - zu ziehen - mit einer Reihe von Nullen, zum Beispiel: 00123 Diese Notwendigkeit ist bei mehreren Gelegenheiten und ist nützlich für an - oder zeigen - eine Reihe sauber, implizit hervorgeht, ihren maximalen Wert. In dem Video, zum Beispiel die klassische Partitur (der Partitur) ist oft mit 001234 bei den meisten es um 999999 Hier ist, wie das Problem wurde gelöst, indem auch viele Entwickler:
- / **
- * Links String Pad
- *
- * @ Von http://snipplr.com/view/8423/left-pad-string/
- * Autor @ web-http: / / www.mechanicmatt.com/
- *
- * @ Param num - zu füllen Striga
- * @ Param totalChars - Gesamtzahl der Zeichen, einschließlich der "Nullen"
- * @ Param padWidth - Zeichen verwendet zu füllen, standardmäßig "0"
- * /
- num, totalChars, padWith ) { leadingZeros Funktion (num, totalChars, padWith) (
- num num + = "";
- ? padWith = (padWith)? padWith: "0";
- num. length <totalChars ) { if (Länge interne Nummer <totalChars) (
- num. length <totalChars ) { while (Länge interne Nummer <totalChars) (
- padWith + num = num;
- )
- { } Else ())
- num. length > totalChars ) { //if padWith was a multiple character string and num was overpadded if (Länge interne Referenznummer> totalChars) (/ / if padWith wurde ein Vielfaches Zeichenkette und num wurde overpadded
- num. length - totalChars ) , totalChars ) ; = Num num. Substring ((interne Referenznummer Länge - totalChars), totalChars);
- { } Else ())
- Rückkehr NUM;
- )
- leadingZeros ( "asdf" , 10 , "0" ) ) ; alert (leadingZeros ( "asdf", 10, "0"));
Diese Lösung ist äußerst artikulieren, sondern können eine unbestimmte Anzahl von 0 Anzahl num auch die Wahl der Schrift, die durch padWidth anstelle des 0
Definitiv Original, aber diese Lösung:
- / **
- * String_pad
- *
- * @ Von http://snipplr.com/view/700/stringpad/
- * @ Autor http://d.hatena.ne.jp/brazil/20060721/1153489937
- *
- * @ Param str - zu füllen Striga
- * @ Param len - Gesamtzahl der Zeichen, einschließlich der "Nullen"
- * @ Param ch - Zeichen verwendet werden, um
- * /
- str, len, ch ) { return new Array ( len- ( '' +str ) . length + 1 ) . join ( ch ) + str } Pad-Funktion (str, len, CH) (Hin-und Rückfahrt new Array (len-(''+ str). Länge + 1). beitreten (CH) + str)
- pad ( 56 , 4 , '0' ) ) ; // 0056 alert (pad (56, 4,'0 ')); / / 0056
Gleichen Ergebnis, mit einer völlig anderen Ansatz. Auch hier haben wir die Möglichkeit zu entscheiden, die Anzahl der Zeichen Polsterung durch den Parameter len und die Schrift, die von ch Schlägt fehl, den Standard zu verwenden, die in der vorherigen Funktion.
Was verwende ich anstelle ...:
- / **
- * String_pad
- *
- * @ Autor Giovambattista Fazioli
- * @ Web http://www.undolog.com
- *
- * @ Param s - zu füllen Striga
- * @ Param l - Ein String, dass die Zeichen ist, dass die Länge
- * Wie "0000" Zeichen = "0" Länge 4
- * /
- s,l ) { return ( l. substr ( 0 , ( l. length -s. length ) ) +s ) ; } padding-Funktion (s, l) (Hin-und Rückfahrt (l. substr (0, (l-s Länge. Länge)) + s);)
- padding ( '123' , '0000' ) ) ; alert (padding ('123 ','0000'));
Wenn Sie weitere interessante Lösungen wenden Sie sich bitte Kommentar ![]()





















