일부 데이터를 데이터베이스에 저장하고 그 데이터를 커서로 읽습니다. 모든 데이터는 56.45, 3.04, 0.03 유형이므로 소수점 이하 두 자리 숫자입니다.Android 숫자 형식이 어쨌든 3.5 대신 3.499999999가 표시됩니다. 이유는 무엇입니까?
sum+= c.getDouble(4) * multi
다 1과 100 사이의 정수 지금이다 : 지금은 그것들을 요약하고 싶지만 쉽게 될 것 같지 않습니다 ... 나는 그 때 내가 좋아 합 변수에 추가 c.getDouble(3)
와 그 번호를 내 문제는 그 합계를 얻은 후 같은 번호를 얻을 : 59.51999999999999999. 코드를 게시하지는 않지만 위젯에 숫자를 표시하기위한 string.valueOf
이외의 변환은 없습니다. 그래서 아무도 이것을 경험하지 않았습니까? 내가 계산할 때 59.52가되어야하지만 대신 99999로 그 숫자를 얻습니다 ... 왜 그런 일이 일어나고 있습니까? (Math.round()
와 함께 작동하지 않는 재밌는 점은 (합계) * 100/100을 설정하더라도 59.0이됩니다.
이 사이트를 살펴 보자 나는 이유는이 [링크] (대한 생각 http://floating-point-gui.de/ –
을 http://stackoverflow.com/questions/5384601/java-doubles-are-not-at-math/5385202 # 5385202) 도움이 될 수 있습니다. 우리는 최선의 해결책을 찾을 때까지 시도 할 수있는 해결책이 있습니다. –