『壹』 java中,如何將double類型數據轉換為16進制字元串或者是16進制位元組數組
1、轉化為long類型
先Double.doubleToLongBits/Double.doubleToRawLongBits,得到long類型,
例子:
longl=0x0102030405060708L;
2、轉化為16進制字元串或數組
byte[]b=newbyte[8];
b[0]=(byte)(l&0x000000000000FFL);
b[1]=(byte)((l&0x0000000000FF00L)>>8);
b[2]=(byte)((l&0x0000000000FF0000L)>>16);
b[3]=(byte)((l&0x00000000FF000000L)>>24);
b[4]=(byte)((l&0x000000FF00000000L)>>32);
b[5]=(byte)((l&0x0000FF0000000000L)>>40);
b[6]=(byte)((l&0x00FF000000000000L)>>48);
b[7]=(byte)((l&0xFF00000000000000L)>>56);
『貳』 java中double數組轉化為byte數組
其實問題轉換為double如何轉換為byte數組,如果知道一個double如何轉換為byte數組,其他不過是重復而已
先介紹double轉byte[]的方法:
假如有一個double d = 503.2135013通過以下方法可以得到byte[]
[java]view plain
publicstaticbyte[]double2Bytes(doubled){
longvalue=Double.doubleToRawLongBits(d);
byte[]byteRet=newbyte[8];
for(inti=0;i<8;i++){
byteRet[i]=(byte)((value>>8*i)&0xff);
}
returnbyteRet;
}
[java]view plain
(byte[]arr){
longvalue=0;
for(inti=0;i<8;i++){
value|=((long)(arr[i]&0xff))<<(8*i);
}
returnDouble.longBitsToDouble(value);
}
『叄』 java 中各種數據類型轉換byte[]的方法
ObjectOutputStream oos = null;//對象輸出流
ByteArrayOutputStream baos = null;//byte數組輸出流
ByteArrayInputStream s = null;//對象輸入流
try {
//序列化
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);//將數組流傳入對象流
oos.writeObject(new Integer(1));//用對象流讀取對象。
byte[] bytes = baos.toByteArray();//用數組流將傳入的對象轉化為byte數組
//反序列化
s = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(s);
Integer i = (Integer)ois.readObject();
System.out.println(i);
} catch (Exception e) {
}以上是把integer類型轉化成byte[]數組類型。註:基本類型要轉化為byte[]數組的話,需要用該基本類型的引用類。比如int的引用類是integer,就行了所有的類型,包括class都可以用這種序列化方式來轉成byte[],
『肆』 java中double類型轉換的方法是什麼
Double是對象,double是基本類型。
你好Double類型是double的包裝類,在JDK1.5以後,二者可以直接相互賦值,稱為自動拆箱和自動裝箱。看你的提示,我推測你的jdk版本在1.5以前。
如果是這樣,可以用Double中的方法,將包裝類轉為基本數據類型,如:
double amount = rec.getAmount().doubleValue()。
『伍』 Java中幾種常用數據類型之間轉換的方法
下面給你例舉10種Java中幾種常用的數據類型之間轉換方法:
1. short-->int 轉換
exp: short shortvar=0;
int intvar=0;
shortvar= (short) intvar
2. int-->short 轉換
exp: short shortvar=0;
int intvar=0;
intvar=shortvar;
3. int->String 轉換
exp: int intvar=1;
String stringvar;
Stringvar=string.valueOf (intvar);
4. float->String 轉換
exp: float floatvar=9.99f;
String stringvar;
Stringvar=String.valueOf (floatvar);
5. double->String 轉換
exp double doublevar=99999999.99;
String stringvar;
Stringvar=String.valueOf (doublevar);
6. char->String 轉換
exp char charvar=』a』;
String stringvar;
Stringvar=String.valueOf (charvar);
7 String->int、float、long、double 轉換
Exp String intstring=」10」;
String floatstring=」10.1f」;
String longstring=」99999999」;
String doubleString=」99999999.9」;
Int I=Integer.parseInt (intstring);
Float f= Integer.parseInt (floatstring);
Long lo=long. parseInt (longstring);
Double d=double. parseInt (doublestring);
8 String->byte、short 轉換
Exp String s=」0」;
Byte b=Integer.intValue(s);
Short sh=Integer.intValue(s);
9 String->char 轉換
Exp String s=」abc」;
Char a=s.charAt(0);
返回字元a
10 String-->boolean 轉換
String s=」true」;
Boolean flag=Boolean.valueOf (「s」);
『陸』 JAVA :int 轉換為bite 以及double 轉換為float 視頻里解釋成位元組數不同又是咔嚓砍掉的是什麼意思請高...
比如int轉byte..
int是4個位元組..byte是一個位元組..所以int是32位二進制..byte是8位..
假如有個int是2..那麼他換成二進制就是00000000....10 轉成btye就是切掉前面的..直到剩下8位..所以轉過來就是00000010..
『柒』 java byte[]轉double,二進制值相同,輸出有差異
計算機中存儲數據是二進制的,就像十進制無法准確表示1/3一樣,二進制是無法准確表示1/10的,我覺得這是出現小數點的主要原因
『捌』 java 變數數據類型轉換byte, short, char, int, long, float, double
整數類型可以這樣砍去多餘的位元組,但是在浮點型中有一個小數點,就是這個小數點導致浮點類型不能像整型一樣進行轉換。再多的就不知道了
^_^
『玖』 java中如何進行安全的類型轉換
java中類型轉換有自動轉化跟強制類型轉換;打個比方就是:int轉double類型是自動轉化,
而double轉化成int是強制類型轉化;(注意強制類型轉化會造成數據丟失)
以下是大概類型轉化:
byte->short->int->long->double
char->int ->long->double
char->int ->float->double
long->float