Warum .NET 5.0 und Framework in C # nicht denselben Wert zurückgeben [Duplikat]
Dec 28 2020
Ich habe zwei Werte wie unten,
V1 = 44194.291666666664
und v2 = 44193
.
Die folgenden Operationen geben unterschiedliche Werte in .NETCore und .Framework zurück
Produktergebnisse | Arithmetische Operation : (v1 - v2) | ToString () (v1 - v2) .ToString () |
---|---|---|
.NET5.0 Ergebnis | 1.2916666666642413 | 1.2916666666642413 |
.NETFramework-Ergebnis | 1.2916666666642414 | 1.29166666666424 |
Code-Auszug
double v1 = 44194.291666666664;
double v2 = 44193;
double value = v1 - v2;
string output = (v1 - v2).ToString();
Antworten
1 JonathanG. Jan 07 2021 at 22:02
Dies ist (wahrscheinlich) beabsichtigt ab .NET Core 3.0. Siehe diesen Blog-Beitrag zur Änderung:https://devblogs.microsoft.com/dotnet/floating-point-parsing-and-formatting-improvements-in-net-core-3-0/