2011-01-03 2 views
0

나누기 후 10 진수 값을 얻으려면 어떻게해야합니까? 이나누기 후 10 진수 값을 구하십시오.

days = miliseconds/(24 * 60 * 60 * 1000)

이 값 (즉 일) 27.8351 어떻게 내가 8351받을 수 있나요이다 가정하고 이후에? 시도

hours = days % (int) days이 havent 한 도트 (.)에 따라 분할 후 문자열로 변환하고 시도, 그것이 큰 제로를 반환 여전히 27.8351/27 하지만 일을 s의 생각하지만 난이 방법처럼 그나마이 난을 통해 어떤 것을 보았다 ?

답변

0
hours = (days - (int) days) * 10000 

0

이렇게하는 방법에는 여러 가지가 있습니다.

소수점 이하 자릿수를 미리 알고있는 경우 전체 숫자로 결과를 빼고 10에 소수점 이하 자릿수를 곱합니다.

예제가 dec 대한 # 4이고, 결과는 42.8798

공정 :

(1) 42.8798-42 = 0.8798

(2) 0.8798 * (10^4) = 8978

1

(소수점 이하 4 개 자리를 얻기 위해) 당신은를 사용해야합니다을 참조하십시오. divideAndRemainder 메서드를 사용할 수 있습니다.

+0

+1, 나는 이것이 'BigDecimal'이 가장 정확한 방법이라고 생각합니다. –