2017-05-06 3 views
1

Für eine Aufgabe versuche ich ein kleines Projekt neu zu erstellen, das ich einmal in ASP.NET gemacht habe.Wie konvertiert man eine nicht numerische Zeichenkette in int

Es konvertierte jeden Buchstaben eines Textes zu seinem int Wert, fügte dann 1 hinzu und konvertierte es zu einem char und setzte sie alle zurück in eine einzelne Schnur.

Jetzt versuche ich dies in Angular, aber ich habe Probleme bei der Konvertierung meiner nicht-numerischen Zeichenfolgen auf seine int Wert.

Ich versuchte es mit ParseInt(), aber das scheint nur zu funktionieren, wenn die Zeichenfolge eine gültige ganze Zahl ist.

Gibt es eine Möglichkeit, nicht-numerische Zeichenfolgen zu einem int-Wert zu analysieren oder zu konvertieren und wie?

+0

Sehen Sie hier verwendet, um einen string Wert zurückzukehren: [ParseInt auf Buchstaben] (http://stackoverflow.com/questions/ 9429113/Is-Parseint-angenommen-zu-Arbeit-wie-das) –

+1

Es scheint, als ob Sie dasselbe tun müssen, was Sie in Ihrem ASP.NET-Programm getan haben; Zerlegen Sie Ihre Zeichenfolge in ein Array von 'char', durchlaufen Sie das Array und verwenden Sie' char.charCodeAt() 'für jeden Buchstaben. – Claies

+0

@Claies In ASP.NET habe ich einfach '(int) stringmsg [i] 'in einer for-Schleife gemacht, aber der charCodeAt brachte mich auf den richtigen Weg, also danke. – Vahx

Antwort

1

Vielen Dank an die hilfreichen Einblicke von Claies und Damien Czapiewski Ich konstruierte die folgende Lösung.

Schleife durch jedes Zeichen in meinem string in einem for loop.
Dann wird für jedes char abgerufen ich seinen Wert mit charCodeAt()
Und ich fromCharCode()

encode(msg:string):string { 

    let result: string = ""; 

    if (msg) { 
     for (var i = 0; i < msg.length; i++) { 

      let msgToInt = msg.charCodeAt(i); 

      // do stuff here 

      result += String.fromCharCode(msgToInt); 
     } 
    } 

    return result; 
} 
4
'String here'.split('').map(function (char) { 
    return String.fromCharCode(char.charCodeAt(0) + 1); 
}).join(''); 

Wenn Sie Char-Code bedeuten.

+0

Das ist wahrscheinlich gut für Javascript, aber ich suche nach einer Angular/Typescript Syntax Lösung. Vielleicht sollte das Javascript-Tag aus der Frage entfernt werden. Aber das und @Claies Kommentar hat mir geholfen – Vahx

Verwandte Themen