Android에서 소수점 두 자리로 double을 인쇄하는 방법은 무엇입니까? [복제]
이 질문에 이미 답변이 있습니다.
어쩌면 이것은 어리석은 질문일지도 모르지만 방법을 만들지 않으면 해결 방법을 추측 할 수 없습니다. 예를 들어 C 에서처럼이를 수행하는 "자연스러운 방법"이있을 수 있습니다. 문제는 다음과 같습니다.
var가 있습니다.
double a;
그리고 소수점 이하 2 ~ 3 자리로만 표시하고 싶습니다. 보여 주려고 할 때 :
Text.setText("Value of a: " + String.valueOf(a));
다음과 같은 것을 제공합니다.
a의 값 : 5.234966145
그리고 나는 단지
a의 값 : 5.23
a의 실제 값을 변경하지 않고 대략적인 숫자를 표시하지만 실수로 작동합니다.
yourTextView.setText(String.format("Value of a: %.2f", a));
DecimalFormat을 사용 하거나String.format("%.2f", a);
DecimalFormat을 사용하기 전에 다음 가져 오기를 사용해야합니다. 그렇지 않으면 코드가 작동하지 않습니다.
import java.text.DecimalFormat;
형식화 코드는 다음과 같습니다.
DecimalFormat precision = new DecimalFormat("0.00");
// dblVariable is a number variable and not a String in this case
txtTextField.setText(precision.format(dblVariable));
소수점 이하 두 자리까지 표시하는 데는 두 가지 가능성이 있습니다. 1) 첫째, 소수점이있는 경우에만 표시하고 싶습니다. 예를 들어-i) 12.10은 12.1로 표시되고, ii) 12.00은 12로 표시됩니다. 그런 다음-
DecimalFormat formater = new DecimalFormat("#.##");
2) 둘째, 현재 소수점과 관계없이 소수점을 표시하고자합니다. 예를 들어 -i) 12.10은 12.10으로 표시됩니다. ii) 12는 12.00으로 표시됩니다.
DecimalFormat formater = new DecimalFormat("0.00");
이것을 사용하십시오 :
DecimalFormat form = new DecimalFormat("0.00");
etToll.setText(form.format(tvTotalAmount) );
참고 : 데이터는 10 진수 형식 (tvTotalAmount)이어야합니다 .
textView2.setText(String.format("%.2f", result));
과
DecimalFormat form = new DecimalFormat("0.00");
textView2.setText(form.format(result) );
... 유럽 로케일에서 "NumberFormatException"오류가 발생합니다. 결과를 소수점 십진수 대신 쉼표로 설정하기 때문입니다. textView가 editText의 숫자에 추가되면 오류가 발생합니다. 두 솔루션 모두 미국 및 영국 로케일에서 훌륭하게 작동합니다.
참고 URL : https://stackoverflow.com/questions/8065114/how-to-print-a-double-with-two-decimals-in-android
'developer tip' 카테고리의 다른 글
grails localhost 포트를 변경하는 방법은 무엇입니까? (0) | 2020.09.04 |
---|---|
Android에서 애플리케이션 "링크"공유 (0) | 2020.09.04 |
iOS 5.0 사용자 에이전트 문자열은 무엇입니까? (0) | 2020.09.03 |
핍 동결 대 핍 목록 (0) | 2020.09.03 |
numpy없이 파이썬에서 변수 NaN 할당 (0) | 2020.09.03 |