Por que .NET 5.0 e Framework em C # não retorna o mesmo valor [duplicado]
Dec 28 2020
Eu tenho dois valores como abaixo,
V1 = 44194.291666666664
e v2 = 44193
.
As operações abaixo retornam valores diferentes em .NETCore e .Framework
Resultados do produto | Operação aritmética : (v1 - v2) | ToString () (v1 - v2) .ToString () |
---|---|---|
Resultado .NET5.0 | 1.2916666666642413 | "1.2916666666642413" |
Resultado do .NETFramework | 1.2916666666642414 | "1.29166666666424" |
Fragmento de código
double v1 = 44194.291666666664;
double v2 = 44193;
double value = v1 - v2;
string output = (v1 - v2).ToString();
Respostas
1 JonathanG. Jan 07 2021 at 22:02
Isso é (provavelmente) por design a partir do .NET Core 3.0. Veja esta postagem do blog sobre a mudança:https://devblogs.microsoft.com/dotnet/floating-point-parsing-and-formatting-improvements-in-net-core-3-0/
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino