Neden .NET 5.0 ve C # içindeki Framework aynı değeri döndürmüyor [duplicate]
Dec 28 2020
Aşağıdaki gibi iki değerim var,
V1 = 44194.291666666664
ve v2 = 44193
.
Aşağıdaki işlemler .NETCore ve .Framework'da farklı değerler döndürür
Ürün sonuçları | Aritmetik işlem : (v1 - v2) | ToString () (v1 - v2) .ToString () |
---|---|---|
.NET5.0 sonucu | 1.2916666666642413 | "1.2916666666642413" |
.NETFramework sonucu | 1.2916666666642414 | "1.29166666666424" |
Kod parçacığı
double v1 = 44194.291666666664;
double v2 = 44193;
double value = v1 - v2;
string output = (v1 - v2).ToString();
Yanıtlar
1 JonathanG. Jan 07 2021 at 22:02
Bu (muhtemelen) .NET Core 3.0'dan itibaren tasarım gereğidir. Değişiklikle ilgili bu blog gönderisine bakın:https://devblogs.microsoft.com/dotnet/floating-point-parsing-and-formatting-improvements-in-net-core-3-0/
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'