Mengapa .NET 5.0 dan Framework di C # tidak mengembalikan nilai yang sama [duplikat]
Saya memiliki dua nilai seperti di bawah ini,
V1 = 44194.291666666664
dan v2 = 44193
.
Operasi di bawah ini mengembalikan nilai yang berbeda di .NETCore dan .Framework
Hasil produk | Operasi aritmatika : (v1 - v2) | ToString () (v1 - v2) .ToString () |
---|---|---|
Hasil .NET5.0 | 1.2916666666642413 | "1.2916666666642413" |
Hasil .NETFramework | 1.2916666666642414 | "1.29166666666424" |
Cuplikan kode
double v1 = 44194.291666666664;
double v2 = 44193;
double value = v1 - v2;
string output = (v1 - v2).ToString();
Jawaban
1 JonathanG.
Ini (kemungkinan) dirancang pada .NET Core 3.0. Lihat entri blog ini tentang perubahan:https://devblogs.microsoft.com/dotnet/floating-point-parsing-and-formatting-improvements-in-net-core-3-0/
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'