float
을 String
으로 변환하고 항상 지정된 길이의 결과 문자열을 얻으려면 어떻게해야합니까?float를 string으로 변환하고 항상 특정 길이의 문자열을 얻으시겠습니까?
내가
float f = 0.023f;
을 가지고 있고 나는 6 문자열을 원하는 예를 들어, 내가 0.0230
을 좀하고 싶습니다. 하지만 4 자리의 문자열로 변환하려면 결과는 0.02
이어야합니다. 또한 -13.459
은 5 자로 제한되며 -13.4
및 10 자 -13.459000
을 반환해야합니다. 여기
java.util.Formatter
documentaion에서
s = String.valueOf(f);
s = s.substring(0, Math.min(strLength, s.length()));
if(s.length() < strLength)
s = String.format("%1$-" + (strLength-s.length()) + "s", s);
'java.text.DecimalFormat'을 참조하십시오. – EJP
이 형식은 이상합니다 ...'100000.05'는'5'로 어떻게 제한됩니까? '10000'? *하지만 이렇게하는 것이 더 예쁘다. *'String.format ("%."+ limit + "f", f) .substring (0, limit)' – Selvin
@Selvin 네, 맞습니다. 제 특정한 경우에는 제가 작업하고있는 숫자의 범위를 알기 때문에 원하는 길이를 적용 할 수 있습니다. 로깅 목적으로 LogCat의 "열"에 숫자를 출력하므로 출력 속도가 상당히 높고 부호와 소수점/자릿수가 알 수 없더라도 (그러나 특정 범위로 제한된 수의 경우에도) 읽기 쉽습니다. – BadCash