scala
[scala] 정수의 산술 연산시 IllegalFormatConversionException 발생
'김용환'
2016. 10. 19. 17:31
자바와 동일하게 스칼라의 정수의 산술 연산은 타입을 따라간다.
아래와 같은 스칼라 코드는 IllegalFormatConversionException이 발생된다.
"%1.2f".format(uvValue * 100 / 8423179))
포맷은 float를 원하는데, 실제 값은 Integer이기 때문이다.
java.util.IllegalFormatConversionException: f != java.lang.Integer
따라서, 자바에서처럼 형 변환을 해줘야 한다.
"%1.2f".format(uvValue.toFloat * 100 / 8423179))
아니면, 변수 선언시 미리 타입을 설정하는 방법도 좋다.
val uvValue:Float = 30123
println("%1.2f".format(uvValue * 100 / 8423179))