2013-08-20 6 views
-4

소수점 이하 0을 어떻게 계산합니까? 예를 들어, 0.0003에는 3 개의 0이 있고 0.03에는 1 개의 0이 있고 0.00000045에는 6 개의 0이 있습니다.Java에서 소수점 이하 자릿수를 0으로 계산하십시오.

+1

무엇이 당신의 질문입니까? –

+2

SO에 오신 것을 환영합니다. 누군가가 당신을 도우려는 경우 먼저 질문하는 방법을 읽어보십시오 - http://stackoverflow.com/questions/how-to-ask. 이것은 질문조차되지 않습니다. 그렇습니다, 나는 또한 셀 수 있습니다. 뭘 물어 보는 거냐? – OldProgrammer

+0

0 뒤에 0의 수를 계산 하시겠습니까? 아니면 숫자를 4E-3과 같은 과학 표기법으로 변환 하시겠습니까? 나는 현재의 제목이 내가 스페인어로 읽은 책과 약간 다르다는 것을 알 수있다. –

답변

1

한 가지 방법은 번호가 1보다 커질 때까지 10을 곱하는 것입니다. 다음 10을 곱하면 소수점 앞에 0이 아닌 숫자가있는 경우 1.

double num = 0.00000045; 

int zeros = 0; 
while (num < 1) { 
    num *= 10; 
    zeros++; 
} 
zeros -= 1; 

System.out.println(zeros); 
 
6 

을 빼했다 얼마나 많은 시간을 계산, 당신은 num = num % 1 같은 것을 가진 사람을자를 수 있습니다. 숫자가 음수이면 절대 값을 취하십시오.

+0

@Downvoter 친절하게 덧글을 남길 – arshajii

+0

만약'1.0003','10.0003' ... 내가 상향 투표했다고 생각하면 뭔가 빠져 있습니다 .... –

+0

@ LoïcFaure-Lacroix 답의 마지막 문장을 읽으십시오. – arshajii

0

문자열을 사용하여이 작업을 수행 할 수 있습니다. 먼저 소수점 이하 자릿수의 부분 문자열을 가져옵니다. 그런 다음 문자 배열로 변환하십시오. 그런 다음 루프를 반복하고 0의 수를 계산하십시오.

+1

일부 'locale'이 다른 십진수 구분 기호를 사용하기 때문에 슬프게도 작동하지 않을 수 있습니다. 숫자 산술을 사용하는 것이 가장 좋은 해결책입니다. –

관련 문제