كيف يمكنني أن أقوم بدخول تمثيل السلسلة من تعويم؟

StackOverflow https://stackoverflow.com/questions/1034812

سؤال

أحاول تحويل رقم نقطة عائم بدقة واحدة إلى تمثيل 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))

هذا سيؤدي إلى صفر النتيجة وتنسيقها كرقم سداسي عشري. يمكن العثور على تفاصيل عن سلاسل التنسيق هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top