C #의 .NET 5.0 및 Framework가 동일한 값을 반환하지 않는 이유 [중복]

Dec 28 2020

다음과 같은 두 가지 값이 있습니다.

V1 = 44194.291666666664v2 = 44193.

아래 작업은 .NETCore 및 .Framework에서 다른 값을 반환합니다.

제품 결과 산술 연산 : (v1-v2) ToString () (v1-v2) .ToString ()
.NET5.0 결과 1.2916666666642413 '1.2916666666642413'
.NETFramework 결과 1.2916666666642414 '1.29166666666424'

코드 조각

        double v1 = 44194.291666666664;
        double v2 = 44193;

        double value = v1 - v2;
        string output = (v1 - v2).ToString();

답변

1 JonathanG. Jan 07 2021 at 22:02

이는 .NET Core 3.0 기준으로 설계된 것입니다. 변경 사항에 대해서는 다음 블로그 게시물을 참조하십시오.https://devblogs.microsoft.com/dotnet/floating-point-parsing-and-formatting-improvements-in-net-core-3-0/