자바와 동일하게 스칼라의 정수의 산술 연산은 타입을 따라간다.
아래와 같은 스칼라 코드는 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))
'scala' 카테고리의 다른 글
[scala] Option 에러 처리 - 펌질.. (0) | 2016.10.26 |
---|---|
List에 적용하는 for yield 예시 2 (0) | 2016.10.24 |
[scala] 특이한 Iterator (0) | 2016.10.19 |
[scala] Stream.empty 패턴 매치 (0) | 2016.10.18 |
[scala] 튜플 리스트를 Map으로 변환하기 (0) | 2016.10.17 |