System.out.println(a +" - " +b +" = " +(a-b));
a,b 둘다 double 이고
이거 값을 입력받아서 2.7 - 0.82 로 하면
답이 1.8800000000000003 이렇게 나오는데
왜 이렇게 나오는거야?
정상적으로 1.88로나오게 하려면 어떻게해야해?
혼자 공부하는 급식이좀 도와줘 ㅜ
System.out.println(a +" - " +b +" = " +(a-b));
a,b 둘다 double 이고
이거 값을 입력받아서 2.7 - 0.82 로 하면
답이 1.8800000000000003 이렇게 나오는데
왜 이렇게 나오는거야?
정상적으로 1.88로나오게 하려면 어떻게해야해?
혼자 공부하는 급식이좀 도와줘 ㅜ
해당 댓글은 삭제되었습니다.
둘다 그냥 10진수 뺄셈인데?
아하 그럼 뒤에 0 들을 다 자르려면 어떻게 해야돼 ㅠ
입력한게 계속 소수점 2자리면 그래도 되는데 입력한게 소수자리수가 다르면 또 달라지니까 ㅜ
응응 찾아보니까 그런 함수가 있더라구 고마워!
C나 자바, 자바스크립트는 어쩔수없을껄. 속도 포기하더라도 정확하게 쓰고싶으면 BigDecimal 인가 쓰거나 int로 계산시켜서 표기만 중간에 소숫점 붙여서 쓰면 되고 아니면 그냥 써도 엄청 작은오류라 괜찮음.
DecimalFormat result = new DecimalFormat("0.######"); 이거 쓰면 되는거였어! ㅎㅎ
답글 고마워!
강의 시간에 대체 뭐 했냐고 하려 했다가 급식이라서 참는다