prompt> printf "%.2f\n" 3.314
3.31
prompt> printf "%.2f\n" 3.315
3.32
좋아요, 제가 원하는 걸 얻었어요. 그러나 다른 숫자를 사용하면 다음과 같은 결과가 나타납니다.
prompt> printf "%.2f\n" 28.124
28.12
prompt> printf "%.2f\n" 28.125
28.12
두 번째 경우에는 왜 올바르게 반올림되지 않습니까? 그렇게 되어야 28.13
하지 않습니까?
답변1
printf
은행가 반올림 사용(짝수는 내림, 홀수는 내림):
printf '%.2f\n' 28.125 # 28.12
printf '%.2f\n' 28.135 # 28.14
printf '%.2f\n' 28.145 # 28.14
printf '%.2f\n' 28.155 # 28.16
자세한 내용은 다음을 참조하세요.부동 소수점 가이드