كيف يمكنني أن أقوم بدخول تمثيل السلسلة من تعويم؟
-
06-07-2019 - |
سؤال
أحاول تحويل رقم نقطة عائم بدقة واحدة إلى تمثيل ASCII للبايت الأربعة الذي يجعله (علامة/الأسد/mantissa). الكود الحالي الخاص بي هو:
Integer.toString(Float.floatToRawIntBits(f),16);
Float.floatToRawIntBits
يصنع عدد صحيح باستخدام نفس البايتات ، ثم Integer.toString
ينشئ أرقام ASCII في شكل سداسي عشرية (ومن هنا المحدد = 16 محدد). مشكلتي هي أنني بحاجة دائمًا إلى 8 أحرف ASCII بالإضافة إلى علامة الاختيارية "-و Integer.toString
لا يحشو مع الأصفار الجانب الأيسر.
هل يمكن لأي شخص الخروج بحل أنيق؟
شكرًا.
المحلول
يمكنك استخدام String.Format ():
String.format("%08x", Float.floatToRawIntBits(f))
هذا سيؤدي إلى صفر النتيجة وتنسيقها كرقم سداسي عشري. يمكن العثور على تفاصيل عن سلاسل التنسيق هنا.
لا تنتمي إلى StackOverflow