2017-12-29 24 views
-3

Ziel ist es, eine Nachricht mit einigen Zeichen und einige Werte an ein anderes System zu senden, das den Wert liest, aber ich muss die Werte für das andere System formatieren, um es lesen zu können.C# - In String mit Format konvertieren?

Im Moment habe ich einige Code:

string Message = Convert.ToString({"x=" + x1 + "y=" + y1 + "idle=" + idle1 + "RT=" + RT + "LT=" + LT}); 

die zu einem gewissen Grad funktioniert, die x=x1 Arbeit, so dass der Wert wie x=1 oder x=65534 aussehen, aber das System, das die Nachricht die lesen muss empfängt string, und ich würde es tun, indem ich es wie ein Array lese, aber das bedeutet, dass die Werte feste Größen haben müssen, also müsste ich stattdessen x=1 zu x=00001 formatieren.

Ich habe gesehen, einige tun es mit "D6" als Parameter, aber ich kann es nicht mit Convert to string arbeiten.

+3

Suche nach string.Format zu bekommen ("x = {0: D6 } ...... ", x1, .....); Hier: [Composite-Formatierung] (https://docs.microsoft.com/en-us/dotnet/standard/base-types/composite-formatting) – Steve

+2

https://stackoverflow.com/questions/44427194/formatting-a- String-in-Spalten-Using-String-Interpolation –

Antwort

1

können Sie verwenden String.PadLeft (5, '0') immer 5 Chars

public string FormatVal(int value) 
{ 
    return value.ToString().PadLeft(5, '0'); 
} 

und dann

string Message = $"x = {FormatVal(x1)} y = {FormatVal(y1)}idle = {FormatVal(idle1)}RT = {FormatVal(RT)}LT = {FormatVal(LT)}"; 
+0

Perfekt! - Vielen Dank! –

Verwandte Themen