2013-08-09 2 views
2

내 응용 프로그램에서는 사용자가 DOUBLE 값 (소수점 이하 2 자리)을 입력 한 다음 합계를 표시 할 수있었습니다. 그것은 10,000,000보다 적은 값으로 잘 작동합니다; 그러나 표시 할 때자바 안드로이드에서 double/float 출력 문제

Double totalvalue = 1000000000.50; 
Displayed as 1.0E9 
Intent to get Display as : 1000000000.50 

Double totalvalue = 10000000.00 
Displayed as 1.0E7 
Intent to get Display as : 10000000.00 

그래서 내 문제는 실제 값을 표시하는 것입니다. p/s : 몇 시간 동안이 문제에 대한 연구를했지만 불행히도 나는 그것에 대한 답을 얻지 못했습니다.

+0

@boxed__l 아니요, "Double.toString()"과 작동하지 않습니다. –

+0

@LoganMurphy 참조하는 질문은 정수로 표시하는 것에 관한 것이며 허용 된 답변을 비롯한 많은 답변이이 작업에 적합하지 않습니다 케이스. –

+0

예, toString은 형식을 변경하지 않고 단순히 값을 문자열로 변환합니다. 주어진 솔루션을 적용하고 잘 작동합니다. 모두에게 감사합니다. – BlackHat

답변

3

을 된 직후 표시 할 수 있습니다

String.format("%1$.2f", totalvalue); 

Double없이 E 표기법을 포맷 할 수 있습니다.

+0

"% .2f"와는 크게 다른가요? –

+0

감사! 그것은 작동합니다! – BlackHat

+0

@SajalDutta - 형식에 단 하나의 인수가있을 때 전혀 차이가 없습니다. 각 형식 변환의 위치를 ​​항상 지정하는 습관이 있습니다. 나는 우리가 동일한 대답을 가지고 있음을 압니다. 나는 당신이 이전에 삭제 된 대답을 편집하는 동안 나의 대답을 쓰기 시작했다. 그것은 상당히 달랐다. 그래서 +1. :) –

2

당신은 당신이 사용할 수

String.format("%.2f", totalValue)