자바와 동일하게 스칼라의 정수의 산술 연산은 타입을 따라간다. 




아래와 같은 스칼라 코드는 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))



Posted by '김용환'
,