Scala가 Double에 대한 간단한 추가에 대해 정확한 답을 얻지 못하는 이유는 무엇입니까?

Ambling

상황은 아래와 같이 간단한 줄로 재현 할 수 있습니다.

Scala version 2.11.0 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_66).

scala> 0.2+0.7
res0: Double = 0.8999999999999999

그래서 그 이유는 무엇입니까? 중간 프로세스가 부정확 한 결과를 생성하는 경우 어떻게 답이 옳은지 테스트 할 수 있습니까?

감사.

Sarveshseri

이 문제는 수학이 우리의 프로세서에서 작동하는 방식과 더 많은 관련이 있고 Scala에서는 덜 작동합니다.

스칼라,

$ scala
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_101).
Type in expressions for evaluation. Or try :help.

scala> 0.2 + 0.7
res0: Double = 0.8999999999999999

파이썬,

$ python
Python 2.7.12 (default, Jun 29 2016, 14:05:02) 
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> 0.2 + 0.7
0.8999999999999999

Node.js

$ node
> 0.2 + 0.7
0.8999999999999999

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관