Konvertieren Zahl in der "textbox" float C#
Ich habe textbox akzeptieren zahlen. Diese zahlen werden gespeichert in der Datenbank.
Wenn ich die Nummer eingeben wie 2,35 und konvertieren zu schweben und senden Sie zur Datenbank bekomme ich Fehler, weil die Datenbank akzeptiert nur die Nummer, mit Punkt, z.B. 2.35
float num = float.Parse(textBox1.Text);
num ist noch 2,25
Wie um Sie zu verwalten? Ich habe versucht mit CultureInfo.InvariantCulture
aber ich bekomme nie was ich will
warum sind u mit Komma statt Punkt?
Wo bekommen Sie den Fehler? Falls es ein problem ist die Speicherung der Daten in der Datenbank, die wir brauchen, um Ihre SQL-code.
Sie kann ein einfaches
verschiedene Kulturen verwenden unterschiedliche Dezimaltrennzeichen. Viel von Europa setzt ein Komma statt einen Punkt.
diese ersetzen würden, Nummern wie "1.000.000,00" (eine million) "1.000.000.00". Er muss, um die aktuelle Kultur von Betriebssystem (mit Gewinde.CurrentThread.CurrentCulture). Lesen Sie mehr hier
Wo bekommen Sie den Fehler? Falls es ein problem ist die Speicherung der Daten in der Datenbank, die wir brauchen, um Ihre SQL-code.
Sie kann ein einfaches
string.Replace
ersetzen Sie die Kommas mit Punkten.verschiedene Kulturen verwenden unterschiedliche Dezimaltrennzeichen. Viel von Europa setzt ein Komma statt einen Punkt.
diese ersetzen würden, Nummern wie "1.000.000,00" (eine million) "1.000.000.00". Er muss, um die aktuelle Kultur von Betriebssystem (mit Gewinde.CurrentThread.CurrentCulture). Lesen Sie mehr hier
InformationsquelleAutor Josef | 2013-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Folgendes versuchen:
Ich hoffe, dass dies wäre, habe das Problem gelöst.
InformationsquelleAutor ShaileshDev
Der einfachste Weg ist das ersetzen ',' mit '.' wie in:
Dann senden "stringValue" Datenbank.
Ich hoffe das hilft dir.
InformationsquelleAutor Igor Frank
verwenden:
Ich habe das gleiche problem und es gelöst, indem Sie obigen code
InformationsquelleAutor Harits Fadillah
num
ist2,25
denn es ist angezeigt, die Sie in Ihre Kultur. Es wird richtig übergeben werden, um die Datenbank, vorausgesetzt, Sie verwenden die üblichen Mechanismen (z.B. prepared statements mit Parametern). Wenn Sie darauf bestehen, manuell zusammenkleben SQL, dann mit allen Mitteln verwenden SieInvariantCulture
zum formatieren der Zahl, aber im Allgemeinen, bitte nicht.InformationsquelleAutor Joey
Dies ist ein häufiges Thema Globalisierung. Was haben Sie zu definieren, ist eine einzige Kultur, in der die Speicherung der Daten selbst, da Sie speichern Sie es als string-Wert. Dann tun Sie ALLE Ihre Daten-input und der Umgang mit dieser Kultur. In unserem code, wir haben mehrere Blöcke, die ähnlich Aussehen wie diese im Umgang mit multi-kulturellen Mathematik und Daten-display:
Diese Weise können Sie sicherstellen, dass alle Daten verarbeitet und gespeichert werden, die gleiche Weise, unabhängig von der Kultur nutzen zu generieren oder die Daten anzuzeigen.
Bearbeiten
Zu tun, die Daten speichern, und die Umwandlung der Zahl in einen string, würde Sie Dinge tun, genau die gleiche Weise. Gleichzeitig haben Sie die aktuellen threads CultureInfo-Einstellung als "en-US", die
.ToString()
Methoden aus all den zahlen wird mit "." statt "," als Dezimalzeichen. Der andere Weg, es zu tun, ist geben Sie einen format-provider, wenn Sie anrufen .ToString().Dieser gibt an, dass beim umwandeln der Zahl in einen string und verwenden Sie die NumberFormat-von der Kultur zur Verfügung gestellt.
InformationsquelleAutor Nevyn