Persyaratan: Konversi string (string hanya memiliki satu desimal) untuk mengambang untuk melakukan perhitungan, mengubah hasilnya menjadi string (mempertahankan satu desimal)
Langsung unggah kode:
float f1 = 0.1f; string a1 = "1.5"; System.out.println (float.parsefloat (a1)+f1);
Jawaban: 1.6
float f1 = 0.1f; string a1 = "1.6"; System.out.println (float.parsefloat (a1)+f1);
Jawaban: 1.7
Sejujurnya, pada awalnya saya merasa bahwa kode itu baik -baik saja. Saya mencoba banyak string dari 0,1, tetapi semuanya benar.
Namun, ketika a1 = "1.7", masalahnya muncul, hasil output: 1.8000001
Um? Apakah ada masalah dengan metode konversi? Ini adalah rutinitas untuk berkeliaran di internet untuk waktu yang lama.
Ini hanya dapat dipertimbangkan dari jumlah digit dan akurasi yang ditahan. Jadi saya menemukan desimalformat
0 angka
# Nomor, tidak termasuk 0
. Placeholder untuk pemisah desimal
, placeholder untuk pembatas kelompok
; Format yang dibatasi.
- Awalan negatif default.
% dikalikan 100 dan ditampilkan sebagai persentase
float f = 0.1f; string max = "1.7"; decimalformat df = new decimalformat ("#######.#"); string s = df.format (float.parsefloat (max)+f); System.out.println (s);Hasil: 1.8
Oke, masalah terpecahkan!
Metode di atas string Java untuk mengapung operasi untuk mengapung adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.