2014-11-10 5 views
-4

1.9의 부동 값을 1.10으로 증가 시키려고합니다. 내 논리는 value == 1.9이고 0.10만큼 증가하지만, 2.0으로 가져옵니다.부동 소수점 숫자 부동 소수점 숫자 2.0 대신 1.9 1.9 0.

아무도 논리를 알고 대신 1.10을 표시합니까?

+0

아마 당신은 수레 전혀, 당신은 점으로 분리 된 두 개의 int 치의 문자열을 원하는 원하지 않는 코드 – Himal

+3

을 게시하시기 바랍니다. 버전 번호를 다루는 경우 플로트가되도록하지 마십시오. –

+0

1.9 = 19/10> 11/10 = 1.10 –

답변

3

1.9 + 0.1은 1.10과 같지 않습니다. 당신이이 의미를 원한다면

, 당신은 아마도 (그들이 제대로 작동 표준 수학에 의존한다.), 부동 소수점 숫자를 사용하여 오히려

int의 한 쌍의 컴포넌트를 저장하지 않아야합니다. 예를 들어

:

ver = "1.9" 
ver = [int(x) for x in ver.split('.')] 
print 'Version {0[0]}.{0[1]}'.format(ver) # Prints "Version 1.9" 

ver[1] += 1 
print 'Version {0[0]}.{0[1]}'.format(ver) # Prints "Version 1.10"