Wie konvertiert ein byte in ein char, z.B. 1 -> '1'?
Wie konvertiert ein byte in ein char? Ich meine nicht eine ASCII-Darstellung.
Ich habe eine variable vom Typ byte
und wollen es als ein Zeichen.
Möchte ich nur folgende Umrechnungen von byte zu char:
0 ->'0'
1 ->'1'
2 ->'2'
3 ->'3'
4 ->'4'
5 ->', 5'
6 ->', 6'
7 ->', 7'
8 ->', 8'
9 ->'9'
(char)1
und Convert.ToChar(1)
funktionieren nicht. Sie führen ''
weil Sie denken, dass 1
ist der ASCII-code.
Wie wäre
Hat es nur eine Ziffer?
Ja. In meinem Fall sind die byte-variable ist nur eine einzelne Ziffer zwischen 0 und 9.
Eine variation von @Zikade Lösung:
Vielen Dank, ich werde
1.ToString()[0]
?Hat es nur eine Ziffer?
Ja. In meinem Fall sind die byte-variable ist nur eine einzelne Ziffer zwischen 0 und 9.
Eine variation von @Zikade Lösung:
byteVariable.ToString().Single()
– mit System.Linq
; wird eine Ausnahme ausgelöst, wenn die variable überschreitet 9
.Vielen Dank, ich werde
Single()
- nur um sicher zu sein.InformationsquelleAutor brgerner | 2012-05-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
die Anzahl
.ToString();
Beachten Sie, dass Sie nicht wirklich konvertieren
byte
zu einemchar
char
ist ein char-byte, während sogar drei Ziffern Wert!Wenn Sie verwenden möchten
LINQ
und du bist sicher, das byte wird nicht mehr als eine Ziffer(10+) Sie können diesen:Kommentar zu deinem Hinweis: Es ist ok, in meinem Fall, da habe ich nur ein-stellige zahlen. Also in meinem Fall es ist ok zu schreiben:
one.ToString()[0]
oder @JeppeStigNielsen der Hinweisone.ToString().Single()
.Danke... es war zumindest akzeptiert.
:)
Ein
byte
(System.Byte
) kann nicht negative Werte haben. Das ist einesbyte
.Du hast Recht, behoben. danke!
InformationsquelleAutor gdoron
Einfach mit
variable.ToString()
sollte genug sein. Wenn Sie wollen bekommen Sie Lust, fügen Sie den ASCII-code von0
auf die variable vor der Umwandlung:Der Wert des byte als die Ordnungszahl der Zeichen in der BMP-natürlich. Die Frage, die klar besagt, dass wir 're nicht daran interessiert, 10+ Werte wenn.
InformationsquelleAutor Jon
Verwenden Sie diese für die Konvertierung.
wo
mybyte
= 0 oder 1, und soODER
Während andere gegeben haben, die Lösung, die ich werde Ihnen sagen, warum Ihre
(char)1
undConvert.ToChar(1)
funktioniert nicht.Wenn Ihr konvertieren byte 1 char dauert es, dass
1
alsASCII
Wert.Jetzt
ASCII of 1 != 1
.Hinzufügen 48, da bei ASCII 1 == 1 + 48`. Ähnliche Fälle für 0, 2 und so weiter.
InformationsquelleAutor Nikhil Agrawal
Nehme an, Sie haben variable
byte x;
Verwenden Sie einfach
(char)(x + '0')
x
ist einbyte
. und wie Sie Kommentare, was passieren wird, wenn x größer als 9? Sie erhalten einige ascii-code statt.Sorry für die Verwendung von "int", aber der Autor meinte es nur 0 bis 9, so ist Ihre Erwähnung Fall wird nicht eintreten
InformationsquelleAutor Tu Tran
Konvertieren.ToString (), um dies durchzuführen.
convert.ToString()
und nicht nur.Tostring()
...:)
Wie kann ein
byte
werdennull
? es ist einstruct
. Aus der MSDN "Diese Implementierung ist identisch mit Byte.ToString()." Quelle+1 für diese Erklärung.
InformationsquelleAutor Romil Kumar Jain