1. java中將一個double類型的數強制轉換為long 型是四捨五入嗎
Java 中 long 是一個整數基本類型, 長度為64bits, 即8位元組.而double存在小數;如果帶小數點的double轉long型必定會造成數據變化!那麼,是怎麼變化的呢?
由此可見,java double轉long型是取整運算;
2. java中double類型轉換的方法是什麼
Double是對象,double是基本類型。
你好Double類型是double的包裝類,在JDK1.5以後,二者可以直接相互賦值,稱為自動拆箱和自動裝箱。看你的提示,我推測你的jdk版本在1.5以前。
如果是這樣,可以用Double中的方法,將包裝類轉為基本數據類型,如:
double amount = rec.getAmount().doubleValue()。
3. java 的long轉換double問題
long是高於double精度的一個基礎變數類型,你在這里的強行轉換會產生精度缺失的問題。
這個是我運行你的代碼的結果,可以看出精度的缺失吧?
long是一個長整形變數,而double是雙精度的浮點數(其實就是小數)
然後再這里b/1000就是等於12,因為b是長整形的,他的計算結果也會事長整形的
所以需要在計算前先將b強制裝換為double型的,才可以保證精度不缺失
4. java 的long轉換double問題
(double)
b/1000;
這一步是把b先轉化為Double型
然後進行計算
因為計算的類型中有double型
所以1000自動轉化為double型
結果就是double型
12.345
b/1000;
這一步是long型/long型
得到的結果也是long型
就是12
然後轉化為double型
就是12.0
5. java 變數數據類型轉換byte, short, char, int, long, float, double
整數類型可以這樣砍去多餘的位元組,但是在浮點型中有一個小數點,就是這個小數點導致浮點類型不能像整型一樣進行轉換。再多的就不知道了
^_^
6. 在JAVA中把double類型轉換成long類型,丟失數據位是什麼,為什麼
long是
長整型
,在怎麼長本身也是整型,12.10的整形部分是12,當然結果是12,只不過long類型要比int類型值的范圍要更廣。
7. Java初學:long類型能轉換為double類型嗎它們都是8位元組的內存長度
Long a = new Long (100);
double b = a.doubleValue();
System.out.println(b);
8. 請問java中,Double類型和double有什麼不同能否轉換
Double 是類 double是基礎數據類型。Double類型是double的包裝類,在JDK1.5以後,二者可以直接相互賦值,稱為自動拆箱和自動裝箱。如果是這樣,可以用Double中的方法,將包裝類轉為基本數據類型。
可以轉換的。
9. 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」);
10. 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);