Någon hävdar att programmering är en konstform och, i slutändan, jag kan bara hålla särskilt när man hittar lösningar mycket olika ut för samma problem. För att förstå hur sant detta är som ett identiskt behov i medisimo språk (Javascript) kan lösas med metoder helt annorlunda och originellt.
Vänster noll Pad
Ett antal, men det tal är också giltiga för alla strängar, till exempel 123 kan fyllas till vänster - att göra - med ett antal nollor, till exempel: 00123 Detta måste uppvisas vid flera tillfällen och är bra för att anpassas - eller visa - ett antal snyggt, underförstått som visar sitt högsta värde. I videon, till exempel den klassiska poäng (poängen) är ofta anges med 001234 högst det gäller 999999 Så här problemet löstes genom olika utvecklare:
JavaScript: / **
* Vänster Pad String
*
* @ Från http://snipplr.com/view/8423/left-pad-string/
* @ Författare webb-http: / / www.mechanicmatt.com/
*
* @ Param NUM - att fylla Striga
* @ Param totalChars - Totalt antal tecken, inklusive de "nollor"
* @ Param padWidth - Tecken som används för att fylla, default "0"
* /
num, totalChars, padWith ) { leadingZeros funktion (num, totalChars, padWith) (
num num + = "";
? padWith = (padWith)? padWith: "0";
num. length <totalChars ) { if (längd interna referensnummer <totalChars) (
num. length <totalChars ) { while (längd interna referensnummer <totalChars) (
padWith + num = NUM;
)
{ } Else ())
num. length > totalChars ) { //if padWith was a multiple character string and num was overpadded if (längd interna referensnummer> totalChars) (/ / om padWith var en flera Teckensträng och num var overpadded
num. length - totalChars ) , totalChars ) ; = Num num. Delsträngar ((interna referensnummer längd - totalChars), totalChars);
{ } Else ())
återgå num;
)
leadingZeros ( "asdf" , 10 , "0" ) ) ; varning (leadingZeros ( "asdf", 10 "0"));
Denna lösning är extremt uttryck, men kan lägga till ett obegränsat antal 0 antal num också välja typsnitt som används av padWidth i stället för standardinställningen 0
Definitivt ursprungliga dock denna lösning:
JavaScript: / **
* String_pad
*
* @ Från http://snipplr.com/view/700/stringpad/
* @ Författare http://d.hatena.ne.jp/brazil/20060721/1153489937
*
* @ Param str - att fylla Striga
* @ Param len - Totalt antal tecken, inklusive de "nollor"
* @ Param CH - Tecken som används för att fylla
* /
str, len, ch ) { return new Array ( len- ( '' +str ) . length + 1 ) . join ( ch ) + str } funktion pad (str, len, CH) (återgå new Array (Len-(''+ str). längd + 1). ansluta (CH) + str)
pad ( 56 , 4 , '0' ) ) ; // 0056 varning (PAD (56, 4,'0 ')), / / 0056
Samma resultat, med ett helt annat synsätt. Återigen har vi möjlighet att bestämma antalet tecken padding genom parametern len och teckensnitt som används av ch Underlåter att använda den standard som anges i föregående funktion.
Vad jag använder i stället ...:
JavaScript: / **
* String_pad
*
* @ Författare Giovambattista Fazioli
* @ Web http://www.undolog.com
*
* @ Param s - för att fylla Striga
* @ Param l - En sträng som anger tecknet är att längden
* Sådana som "0000" tecken = "0" längd 4
* /
s,l ) { return ( l. substr ( 0 , ( l. length -s. length ) ) +s ) ; } padding funktion (s, l) (tur och retur (L. substr (0, (L-s längd. längden)) + s);)
padding ( '123' , '0000' ) ) ; varning (stoppning ('123 ','0000'));
Om du har andra intressanta lösningar kommentar 
Liknande Post