Werte Runden

Guten Tag.
Hört sich simpler an als es ist.
Gibts ne Funktion, die auf Englischen sowie auf Deutschen Systemen, Zahlen runden kann?
Die deutschen systeme sind teilweise bei Ländereinstellungen auf Englisch gestellt wg gewisser Programme und umgedreht. Das heisst wie schalte ich die von windows festgelegten punkt komma optionen so das er immer das selbe ergebnis bringt mit komma oder punkt.

Bis jetz hab ichs so gemacht:

 LeadingDigit = -1 'vbTrue
 UseParens = 0 'vbFalse
 GroupDigits = 0 'vbFalse
 NumDigits = 2 ' 2 stellen nach komma
 
 If Einzelpreis = "" Then
 VKPtxt.Text = ""
 Else
 PreisVar = Replace(Einzelpreis, ".", ",")
 VKPtxt.Text = FormatNumber(PreisVar, NumDigits, LeadingDigit, UseParens, GroupDigits)
 End If

Aber wenn man ein deutsches system hat und das auf englische ländereinstellungen stellt kommen unsummen raus.
zb: 1,05€ = 10500 €.
Gibts da villeicht ne zuverlässige funktion wie zb in excel? Oder kann ich die Daten bereits im Flexgrid so anzeigen lassen wie sie sein sollen? Also das es da sone format einstellung gibt wie bei Excel zb…

Hoffe da hat wer ne idee ich such ma weiter …
grüße vom digi

Hi Digi,

Gibts ne Funktion, die auf Englischen sowie auf Deutschen
Systemen, Zahlen runden kann?

Deine Probleme entstehen doch, weil Du einen String in eine Zahl konvertierst, nicht durch das Runden. Runden könntest Du einfach mit …

Wert = Round(Zahl, StellenNachDemKomma)

Gruß, Rainer

Das ist es ja… hat es eben nicht. Ich habe mit JEDER runden funktion und mit jedem Datentyp kombiniert. Bei diesen oben beschriebenen einstellungen kommt nur müll raus.
Nur wenn ich das so mache wie die die ich oben gepostet habe kam was ordentliches raus, bis die sprache auf Deutschen systemen auf englisch gesetzt wird. Ab dem zeitpunkt ist wieder mist angesagt.

hm schon n bisl doof … *grml*

grüße vom digi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dim PreisVar As Currency
Dim Ersetzen As String
Dim Inhalt As String
Dim Einzelpreis As String


Einzelpreis = DGV.TextMatrix(DGV.Row, 27)


 If Einzelpreis = "" Then
 VKPtxt.Text = ""
 Else
 PreisVar = Val(Replace(Einzelpreis, ",", "."))
 Inhalt = Format(PreisVar, "0.00")
 Ersetzen = Replace(Inhalt, ".", ",")
 VKPtxt.Text = Ersetzen
 End If

So gehts. :smile: danke nochma :wink:

grüße vom digi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]