Jak przekonwertować ciąg heksadecymalny na float w Javie?

Jak przekonwertować ciąg szesnastkowy na zmiennoprzecinkowy pojedynczy punkt precyzyjny w Javie?

Na przykład, jak wdrożyć:

float f = HexStringToFloat („BF800000”); // f powinno teraz zawierać -1.0

Pytam o to, ponieważ próbowałem:

float f = (float)(-1.0);
String s = String.format("%08x", Float.floatToRawIntBits(f));
f = Float.intBitsToFloat(Integer.valueOf(s,16).intValue());

Ale mam następujący wyjątek:

java.lang.NumberFormatException: Dla ciągu wejściowego: „bf800000”

questionAnswers(2)

yourAnswerToTheQuestion