0
마일을 킬로미터로 변환하고 싶습니다. 이 상황에서 과도한 사용은 BigDecimal
입니까?10 진수를 정수로 변환하는 것은 BigDecimal overkill입니까?
BigDecimals를 사용하지 않고 다음을 개선 할 수 있습니까? 가장 가까운 전체 번호로 반올림하고 싶습니다. 저는 소수점에 관심이 없습니다.
private static final BigDecimal MILE = new BigDecimal(1.609344);
String milesToKm(String miles) {
return new BigDecimal(miles).multiply(MILE).setScale(0, RoundingMode.HALF_UP).toString();
}
킬로미터와 마일 모두에 정수를 사용하는 경우, 'BigDecimal'은 확실히 과잉입니다. 나는 영향을 알지 못한다. (당신은 시차를 측정 할 수있다.) 부동 소수점 오류는 극히 적기 때문에 변환 후 변환하면 오류가 발생하지 않습니다. (나는 내 진술을 증명할 언급이 없다. - 나는 그것이 존재한다고 확신한다. 그래서 그 대답을 게시하지 않을 것이다. ;-)) –
'MILE'은 분수가있는 십진수 여야 만한다. 여기 BigInteger를 사용하십시오 ... – membersound
단순히'double' 또는'float'을 사용하는 것을 암시하고 있습니다 ... –