c\#부동 소수점 계산
0.1+0.1+0.1-0.3 은 몇 이에 요?
여러분 들 이 이렇게 간단 한 문 제 를 말 할 수 있 는데,저 를 무시 하 시 는 거 아니에요?0 이 겠 지.
여러분 이 직접 계산 하 는 것 은 문제 가 없 지만 컴퓨터 를 사용한다 면?
기적 을 볼 때 가 왔 습 니 다.코드 를 보 세 요.
void Main()
{
var f = 0.1 +0.1 +0.1 -0.3;
Console.WriteLine("f=={0}",f);
}
실행 결과:이것 은 컴퓨터 의 정밀도 문제,컴퓨터 의 내부 저장 과 연산 의 정밀도 부족 등 문제 로 인해 제 가 설명 한 것 은 잘 모 르 겠 지만 여러분 은 아래 의 방안 으로 해결 할 수 있 습 니 다.
void Main()
{
//var f = 0.1 +0.1 +0.1 -0.3;
//Console.WriteLine("f=={0}",f);
var f1 = new Decimal(0.1) + new Decimal(0.1) + new Decimal(0.1) - new Decimal(0.3);
Console.WriteLine("f1 == {0}",f1);
}
실행 결과:이렇게 하면 정상 적 인 연산 결과 다.
라 라 라 라!!!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.