Làm thế nào để chuyển đổi chuỗi thập lục phân sang điểm nổi chính xác đơn trong Java?Làm thế nào để chuyển đổi chuỗi hex để nổi trong Java?
Ví dụ: cách triển khai:
float f = HexStringToFloat ("BF800000"); // f bây giờ sẽ chứa -1.0
Tôi yêu cầu này bởi vì tôi đã cố gắng:
float f = (float)(-1.0);
String s = String.format("%08x", Float.floatToRawIntBits(f));
f = Float.intBitsToFloat(Integer.valueOf(s,16).intValue());
Nhưng tôi nhận được ngoại lệ sau đây:
java.lang.NumberFormatException: Đối với chuỗi đầu vào: "bf800000 "
Tôi nhận được: java.lang.NumberFormatException: Đối với chuỗi đầu vào: "BF800000" – apalopohapa
Khi thử nghiệm: Float.intBitsToFloat (Integer.valueOf ("BF800000", 16) .intValue()); Tôi nhận ngoại lệ: java.lang.NumberFormatException: Đối với chuỗi đầu vào: "BF800000" – apalopohapa
Nó đang tràn một int. Chuyển nó sang Long.valueOf (myString, 16) không ném ngoại lệ, nhưng kết quả là -1.0 thay vì 10.0. Bạn có chắc là 10.0 là kết quả chính xác không? –