Ich versuche, Doppel zu analysieren aus einer Zeichenfolge mit dem folgenden Code infering:Umwandlung von String zu Double ist nicht richtig
double.TryParse(contractResult.Result.ValueWithDiscount, NumberStyles.Any, CultureInfo.InvariantCulture, out ValueWithDiscount);
double.TryParse(contractResult.Result.DebitValue, NumberStyles.Any, CultureInfo.InvariantCulture, out Value);
Aber aus irgendeinem Grunde funktioniert es nicht. Ich habe zwei Server, die unterschiedliche Konfigurationen voneinander haben. Und man wird eine "0.5"
zu 0.5
Parsing aber die andere ist zu 5
zu analysieren.
Ich habe auch versucht zu verwenden:
double.TryParse(contractResult.Result.DebitValue, NumberStyles.Any, CultureInfo.CurrentCulture, out Value);
Aber dann der Server, wurde das Parsen gestartet richtig 50
statt 0.5
zu analysieren. Irgendein Tipp warum es passiert?
Update - Werte mit dem folgenden Code:
NumberFormatInfo loNumberFormatInfo = new NumberFormatInfo();
loNumberFormatInfo.NumberDecimalSeparator = ".";
loNumberFormatInfo.NumberGroupSeparator = ",";
double ValueWithDiscount = 0.0;
double.TryParse(contractResult.Result.ValueWithDiscount, NumberStyles.Any, loNumberFormatInfo, out ValueWithDiscount);
logger.Log("ValueWithDiscount: " + contractResult.Result.ValueWithDiscount);
logger.Log("ValueWithDiscount Parsed: " + ValueWithDiscount);
Server, das funktioniert:
ValueWithDiscount: 0.50
ValueWithDiscount Parsed: 0,5
Server, der nicht funktioniert:
ValueWithDiscount: 0,5
ValueWithDiscount Parsed: 5
Ich weiß nicht, ob dies die Antwort ist, aber ich hatte einmal ein ähnliches Problem, das sich herausstellte, die Standorteinstellungen und verschiedene Regionen zu verwenden. oder für Dezimalzahlen. –
Können Sie einen [MCVE] (https://stackoverflow.com/help/mcve) hinzufügen? Sie können beispielsweise [.NETFiddle] (https://dotnetfiddle.net/) verwenden. – aloisdg
Auf der Maschine, die nicht funktioniert, bist du ** 100% sicher, dass die Zeichenfolge "0,5" ist? Könnte es vielleicht "0,5" sein? Können Sie uns zeigen, wo 'contractResult.Result.ValueWithDiscount' eingetragen ist? – mjwills