[JAVA] float, double 소수점 오류(부동소수점) 해결하기
사용자가 기입한 확률을 DB에 넣고 싶었다.
자세히 말하자면 사용자가 2라고 입력하면 백분율로 환산하여 DB에는 0.02로 넣고싶었다.
그런데 입력된 DB 값을 보니 0.02가 아닌 0.019999999999999999…로 되어있었다.
난 정확히 0.02를 넣고싶었는데 무엇이 잘못된걸까?
사용자가 기입한 확률을 DB에 넣고 싶었다.
자세히 말하자면 사용자가 2라고 입력하면 백분율로 환산하여 DB에는 0.02로 넣고싶었다.
그런데 입력된 DB 값을 보니 0.02가 아닌 0.019999999999999999…로 되어있었다.
난 정확히 0.02를 넣고싶었는데 무엇이 잘못된걸까?
화면에서 컨트롤러로 파라미터 HashMap<String, String> map
를 받아 double값을 형변환하려고 하는데 ClassCastException이 발생했다.
Java.lang.Integer cannot be case to Java.lang.String 이었고 원인을 찾아보니 NaN가 문제였다.
커스텀한 객체를 가지는 List에서 중복된 객체를 제거하고 싶었다. 차장님께 물어보니 2가지 방법을 알려주셨다.
백단 테스트 중 json을 받을 일이 있어서 그냥 작성했더니 아래와 같은 오류가 발생했다.
String을 int로 변환하는 과정에서 cast 에러가 발생했다.
비슷한 역할을 하지만 결과는 다른 두 메서드 String.valueOf()와 Object.toString()의 차이에 대해 알아보자.
Object Mapper만 사용하다가 Gson을 알게되면서 둘의 차이점이 궁금해졌다.
서버 API 작업 중 A요청 후 디버깅을 하는 와중에 B요청을 했더니 B요청에 대한 응답을 바로 받을 수 있었다.
js에서는 setTimeout()이나 setInterval()을 자주 사용했는데 자바에서는 어떻게 사용할까?
바로 TimeUnit의 static메서드인 sleep()이 있다.
자바로 웹어플리케이션을 만드면 필수로 만나게 되는 파일 중 web.xml
이 있다.