c\#부동 소수점 계산

1018 단어 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);
}
실행 결과:

이렇게 하면 정상 적 인 연산 결과 다.
라 라 라 라!!!!

좋은 웹페이지 즐겨찾기