나는이 프로젝트에서 일해 왔으며 이것을 발견했다. 근본적으로 정수 값을 여러 가지 십진수 (부동 소수점)로 곱하면받는 값이 정확하지 않습니다. 예를 들어 <%= 800 * 1.1 %>
(html)은 단지 880 대신 880.0000000000001
을 반환합니다.엘 릭셔/피닉스 증식
가능한 이유에 대한 설명이 있습니까? 숫자를 반올림 할 수 있습니까?
편집 : <%= 800 + (800 * 0.1) %>
아래의 회신을 사용
잘, 나는 <%= Float.round(value, 2) %>
에 코드를 수정 한 작품, 그래서 값이 플로트를 사용 라운드 소수점 두 자리
_ "이유에 대한 가능한 설명"_ _ [모든 컴퓨터 과학자가 부동 소수점 연산에 대해 알아야 할 사항] (https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg .html). – CodeCaster