2012-08-29 4 views
11

일부 double float 값을 표시하려면 Formater를 사용하여 String을 만들어야합니다. 코드 작성 방법이 명확하지 않습니다. 나는 다음과 같은 출력을 찾고 있어요Android : Double 값이있는 문자열 형식

Double dWeightInKg = 100; 
Double dWeightInLbs = 220: 
String headerText = String.format("%.0f kg/%.0f lbs",Double.toString(dWeightInKg) , Double.toString(dWeightInLbs)); 

: - 내 및 String.format 라인에 badArgumentType (포맷터를)

100 kg/220 lbs 

가 나는 RuntimeException을 얻을 여기에 내가 가진 것입니다.

답변

21

퍼센트의 .0f 0 소수점으로, 부동의 형식 문자열입니다.

String.format에 전달하는 값은 Double, Double 일 필요가있을 때 String, String입니다.

두 개를 문자열로 변환 할 필요가 없습니다.

String headerText = String.format("%.0f kg/%.0f lbs", dWeightInKg, dWeightInLbs); 
+0

답장을 보내 주셔서 감사합니다. 나는 더 잘 알고 있어야했다! – wyoskibum

6

이 작동합니다,

DecimalFormat df = new DecimalFormat("#.##"); 
private String convertToFormat(double value){ 

    return df.format(value); 
} 
+0

답장을 보내 주셔서 감사합니다. 그것은 실제로 단순한 무언가였습니다. – wyoskibum

2

포맷터에 이미 숫자가 필요하기 때문에 Double.ToString()이 필요하지 않습니다. 이것을 시도하십시오 :

String headerText = String.format("%.0f kg/%.0f lbs", dWeightInKg , dWeightInLbs); 
+0

답장을 보내 주셔서 감사합니다. 나는 묻기 전에 그것에 잤어야했다!! – wyoskibum