요구 사항 : String (문자열에는 10 진수 만 있습니다)을 플로팅하여 계산을 수행하고 결과를 문자열로 변환합니다 (소수점을 유지).
코드를 직접 업로드하십시오.
float f1 = 0.1f; 문자열 a1 = "1.5"; system.out.println (float.parsefloat (a1)+f1);
답 : 1.6
float f1 = 0.1f; 문자열 a1 = "1.6"; system.out.println (float.parsefloat (a1)+f1);
답 : 1.7
솔직히 말해서, 처음에 나는 코드가 괜찮다고 느꼈다. 나는 0.1에서 많은 문자열을 시도했지만 모두 정확했습니다.
그러나 A1 = "1.7"이면 문제가 발생하면 출력 결과가 발생합니다. 1.8000001
음? 변환 방법에 문제가 있습니까? 인터넷을 오랫동안 방황하는 것은 일상입니다.
이것은 보유 숫자의 수와 정확도로만 고려 될 수 있습니다. 그래서 나는 Decimalformat을 발견했습니다
0 숫자
# 0을 포함하지 않는 숫자
. 소수점 분리기를위한 자리 표시 자
, 그룹 구분 기자의 자리 표시 자
; 구분 형식.
- 기본 음수 접두사.
%는 100을 곱하고 백분율로 표시됩니다
float f = 0.1f; String max = "1.7"; decimalformat df = new DecimalFormat ( "#########.#"; String s = df.format (float.parsefloat (max)+f); System.out.println (s);
결과 : 1.8
좋아, 문제가 해결되었습니다!
플로트 작업에 플로트 작업을위한 Java 문자열의 위의 방법은 내가 공유하는 모든 내용입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.