Frage

Ich habe ein Problem, ich noch nicht die Lösung gefunden habe, so kann ich Ihre Hilfe bin zu fragen. In meiner Datenbank habe ich einige int, Dezimal und Zeichenfolge, die in numerischen mit bestimmten Länge und Präzision sein muss konvertieren in einer flachen Datei aufzunehmen.

ex:

integer 123 to numeric(8,0) ==> 00000123
decimal 123,123 to numeric(8,8) ==> 0000012312300000
String "22" to numeric(8,0) ==> 00000022

Es kann nicht Komma oder Punkt setzen. Gibt es eine einfache Lösung Ich versuche, eine Menge Dinge, aber keiner gibt mir mein Ergebnis außer Schleifen tun auch in meiner Wohnung Datei abgelegt foreach schmutzig !!

EDIT:

die flache Datei wird Informationen auf der Grundlage dort Punkt beginnen und die Länge, so dass jeder Daten i in der Datei includ hat eine cetain Länge sein. Und für die Numeric ich für exemple haben

   database Decimal Price = 123,456
   File     Numeric(8,6) Price = 00000123456000

Ich wollte wissen, wie ich auf Basis von N Zahlen auf- oder Integer-Daten analysieren könnte ( )

War es hilfreich?

Lösung

Versuchen Sie folgendes:

string ToNumericString(int value) {
    return value.ToString("00000000");
}

string ToNumericString(decimal value) {
    var value16 = Math.Truncate(value * 100000000);
    return value16.ToString("0000000000000000");
}

string ToNumericString(string value) {
    return ToNumericString(int.Parse(value, CultureInfo.InvariantCulture));
}

nennen:

    MessageBox.Show(ToNumericString(123));
    MessageBox.Show(ToNumericString(123.123M));
    MessageBox.Show(ToNumericString("22"));

oder allgemeiner:

string ToNumericString(decimal value, int digitsBefore, int digitsAfter) {
    var value16 = Math.Truncate(value * (decimal)Math.Pow(10,digitsAfter));
    return value16.ToString(new String('0', digitsBefore + digitsAfter));
}

MessageBox.Show(ToNumericString(123.123M, 8, 3));

Andere Tipps

Überprüfen Sie heraus String.Format:

http://msdn.microsoft.com/en-us/library /dwhawy9k.aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top