2017-02-14 5 views
0

Ich muss erlauben, $ (Dollar), (Komma) und. (Vollstopp) in Datenbank durch Umwandlung von Zeichenfolge in Dezimal. Unten ist die Art, die ich in die Datenbank einfügen muss. Aber mit meinem aktuellen Code ist es Einfügen wie untenZulassen Einfügen mit Sonderzeichen in der Datenbank mit C#

     decimal d = Convert.ToDecimal(value); 
         drNew[i] = d; 
         i++; 
+0

Was meinst du? Sie können einfach einen Varchar-Datentyp verwenden und als String einfügen – CodingYoshi

+0

Sie haben also Probleme beim Konvertieren in Dezimalzahlen? weil deine Frage etwas anderes aussagt. – CodingYoshi

+0

Das ist kein "Problem". Währungswerte werden normalerweise als Zahl gespeichert. – Zesty

Antwort

0

Sie diese aus einem String mit Währungssymbol in Dezimalzahlen umwandeln können:

var num = decimal.Parse("$25,529.98", NumberStyles.Currency); 

Sie können auch Übergeben Sie die Kultur, wenn Sie wollen/wollen:

var cultureInfo = new System.Globalization.CultureInfo("en-US"); 
var num = decimal.Parse("$25,529.98", NumberStyles.Currency, cultureInfo); 
0

Ihre Vorgehensweise ist rückwärts und nicht ratsam. Haben Sie eine hidden field, die den numerischen Wert und eine Bezeichnung speichert, die die formatierte Zeichenfolge im Währungsformat anzeigt. Speichern Sie dann den numerischen Wert.

0

versuchen diese,

int number = 1234567890; 
Convert.ToDecimal(number).ToString("#,##0.00"); 

Sie das Ergebnis erhalten wird 1,234,567,890.00.

+0

add convert.tostring() oder convert.toint64() –

+0

number.ToString ("N"); versuchen Sie diese –

+0

dezimal numericValue = 3494309432324.00m; string formatiert = numericValue.ToString ("#, ## 0.00"); –

Verwandte Themen