나는 내가 소수점 이하 숫자를 얻을하는 데 사용할 수있는 코드의 라인을 필요로하는 소수점 숫자를 표시하는 내 결과를 포맷 할 수있는 방법 아래 코드 :나는 을 실행할 때
double results = 1500/1000;
txtview.setText("K " + resultsoldk);
알림을 포함시킬 결과가 필요합니다.
나는 내가 소수점 이하 숫자를 얻을하는 데 사용할 수있는 코드의 라인을 필요로하는 소수점 숫자를 표시하는 내 결과를 포맷 할 수있는 방법 아래 코드 :나는 을 실행할 때
double results = 1500/1000;
txtview.setText("K " + resultsoldk);
알림을 포함시킬 결과가 필요합니다.
당신은 두 번 당신이 문제는
double results = 1500/1000;
의 결과가 1.0
상태인지에 DecimalFormat
DecimalFormat df = new DecimalFormat("0.00##");
String formattedResult=df.format(results);
감사합니다. Rasel, 도움이됩니다. –
사용하여 결과를 포맷 할 수 있습니다 또한
double results = (double)1500/1000;
아래처럼 사용 캐스트 할 수 있습니다
1.5
, 수행 중이므로
정수부. 분할 할 때 숫자 중 적어도 하나가 부동 소수점 숫자인지 확인하십시오. 예를 들어 :
// By adding .0 you make it a double literal instead of an int literal
double results = 1500.0/1000;
는이 같은 문자열을 포맷 할 String.format(...) 방법을 사용할 수 있습니다 :
txtview.setText(String.format("K %f", resultsoldk));
그러나, 이것은 당신을 경우 작동하지 않습니다. 두 개의 정수를 나눌 때 결과는 정수가됩니다 (나머지는 없음). 그 다음에는 double로 변환되기 때문에 double로 변환되지만이 시점에서 precision은 이미 손실됩니다. 당신은 적어도 전에 더블
에 정수 중 하나를 변환해야합니다 당신이 그들을 분할 : 당신이 상수 double results = 1500.0/1000;
또는
를 사용하는 경우,double results = (double)1500/1000;
또는
double results = 1500/1000.0;
또는
double results = 1500.0/1000.0;
이것은 String.format을 사용하는 방법이 아닙니다. 올바른 방법은'String.format ("K % f", resultsoldk)'바보 같지만 그것이 Sun에서이 방법을 설계 한 방법입니다. – Natix
당신은 절대적으로 옳습니다. 나는 파이썬으로 많은 프로그램을하는데 때로는 약간 혼란 스럽다.) –
String strResult = Double.toString(d);
strResult = strResult.replaceAll("\\d?\\.", "");
모르겠지만 얻을 수 있는지 모르겠지만, 원하는 점이 점 다음에 오는 경우이 정규식을 사용할 수 있습니다.
무엇이 resultsoldk입니까? 결과에서 결과를 얻지 만 textold에서 resultsoldk를 사용하고 있습니까? –
가능한 [Format Float to n 소수 자릿수] (http://stackoverflow.com/questions/5195837/format-float-to-n-decimal-places) –