المتطلبات: تحويل السلسلة (السلسلة فقط عشرية واحدة) لتطفو على إجراء الحسابات ، قم بتحويل النتيجة إلى سلسلة (احتفظ بعشرية واحدة)
قم بتحميل الكود مباشرة:
float f1 = 0.1f ؛ string a1 = "1.5" ؛ system.out.println (float.parsefloat (a1)+f1) ؛
الإجابة: 1.6
float f1 = 0.1f ؛ string 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 إلى Float To Float هي كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.