2017-09-14 2 views
0
if (char.IsDigit(e.KeyChar)) 
{       
    if (IsCharFullWidthDigits(e.KeyChar)) 
    { 
     e.KeyChar = Strings.Chr(Strings.Asc(e.KeyChar) + 23680); 
    } 
} 

entsprechenden Wenn Benutzern eine volle Breite Ziffer wie - eingibt, wie man das auf Auto konvertieren entsprechende Normale 0 oder 9? In VB.NET habe ich Strings.Chr und Strings.Asc verwendet, aber ich sehe nicht die Entsprechung in C#. Wie kann ich das machen?Konvertieren voller Breite Ziffern '0' bis `9` normal '0' durch` 9` in C#

+0

Mögliche Duplikat [Was das Äquivalent von VB ASC() und Chr() Funktionen in C#?] (Https://stackoverflow.com/questions/721201/whats-the -äquivalent-von-vbs-asc-und-chr-funktionen-in-c) –

+0

Ich überprüfte die Seite. Aber einige Codes haben nur wenige Stimmen und es gibt keine Garantie zu sagen, dass die Codes korrekt sind. Ich werde sie testen. – qtg

+0

Ich habe den Titel bearbeitet, um die Codes wiederzugeben. Danke Keith. – qtg

Antwort

2

Try this:

int diff = (int)'0' - (int)'0'; 
if (char.IsDigit(e.KeyChar) && IsCharFullWidthDigits(e.KeyChar)) 
{ 
     e.KeyChar = (char)(((int)e.KeyChar) - diff); 
} 
+0

Es beantwortete meine Frage zu den Codes. Für meinen Fall können wir direkt mit int/char arbeiten. – qtg

Verwandte Themen