① java如何將 byte [4] 轉換到float
推薦答案是錯誤地把位元組等同與字元。
byte b[]={0x41,(byte) 0xc8,0,0};
//方法1 流輸入,適用於ME/SE環境
//默認大端數,如果小端數,可以先翻轉數組
DataInputStream dis=new DataInputStream(new ByteArrayInputStream(b));
float f=dis.readFloat();
dis.close();
System.out.println(f);
//方法2 緩存輸入,適用於SE/EE環境
ByteBuffer buf=ByteBuffer.allocateDirect(4); //無額外內存的直接緩存
//buf=buf.order(ByteOrder.LITTLE_ENDIAN);//默認大端,小端用這行
buf.put(b);
buf.rewind();
float f2=buf.getFloat();
System.out.println(f2);
都將顯示讀出來的浮點數25.0
② java 中byte.short,int,long,float,double 的取值范圍分別是多少
其中byte、short、int、long都是表示整數的,只不過他們的取值范圍不一樣
byte的取值范圍為-128~127,佔用1個位元組(-2的7次方到2的7次方-1)
short的取值范圍為-32768~32767,佔用2個位元組(-2的15次方到2的15次方-1)
int的取值范圍為(-2147483648~2147483647),佔用4個位元組(-2的31次方到2的31次方-1)
long的取值范圍為(-9223372036854774808~9223372036854774807),佔用8個位元組(-2的63次方到2的63次方-1)
float和double是表示浮點型的數據類型,他們之間的區別在於他們的精確度不同
float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同樣,e-45表示乘以10的負45次方)佔用4個位元組
double 1.797693e+308~ 4.9000000e-324 佔用8個位元組
double型比float型存儲范圍更大,精度更高,所以通常的浮點型的數據在不聲明的情況下都是double型的,如果要表示一個數據是float型的,可以在數據後面加上「F」。
浮點型的數據是不能完全精確的,所以有的時候在計算的時候可能會在小數點最後幾位出現浮動,這是正常的。
③ java 數字轉字元串
在Java中,數字與字元串之間的轉換是編程中常見的操作。以下是一些基本的轉換方法和實例:
要將數字轉換為字元串,你可以使用`String.valueOf()`方法,如:
java
String s = String.valueOf(123); // 任何數字類型均可
反過來,將字元串轉換為特定類型的數字,可以使用對應的解析方法,如將整數字元串轉換為`byte`、`short`、`int`、`long`、`float`或`double`:
java
byte b = Byte.parseByte("100");
short t = Short.parseShort("200");
int i = Integer.parseInt("300");
long l = Long.parseLong("400");
float f = Float.parseFloat("500f");
double d = Double.parseDouble("600.0");
對於數字對象與它們對應的原始數值的轉換,你可以創建數字類的新實例,然後調用`byteValue()`、`shortValue()`、`intValue()`、`longValue()`、`floatValue()`或`doubleValue()`方法:
java
byte bObj = new Byte((byte) 100);
byte b = bObj.byteValue();
short tObj = new Short((short) 200);
short t = tObj.shortValue();
int iObj = new Integer(300);
int i = iObj.intValue();
long lObj = new Long(400);
long l = lObj.longValue();
float fObj = new Float(500f);
float f = fObj.floatValue();
double dObj = new Double(600.0);
double d = dObj.doubleValue();
通過這些方法,你可以靈活地在數字類型和字元串形式之間轉換數據,以滿足不同編程場景的需求。