❶ 在java中如何把字元串類型強制轉換成double類型
double
dd
=
Double.valueOf("123.2");
同理Integer整數,Long都有相關的valueof來轉換string。
❷ java中如何把一個String類型的變數轉換成double型的
Double.parseDouble(String類型變數)
例如定義String變數A為「10」,將String轉化為Double變數。
我寫出來了,你可以看一下,如下圖:
(2)javalong轉double擴展閱讀:
Javascript具有的數據類型。
有5種基本數據類型:number(整形和浮點型)、string、null、boolean和undefined。此外還有一種復雜的數據類型—Object,Object本質上是由一組無序的名值對象組成的,如Date對象是一個日期和時間類型。
String對象是動態對象,需要創建對象實例後才能引用它的屬性和方法。在創建一個String對象變數時,可以使用new運算符來創建,也可以直接將字元串賦給變數。例如:strValue="Hello"與strVal=new String("hello")是等價的。
double(雙精度浮點型)是計算機使用的一種資料型別。比起單精度浮點數(float),double(雙精度浮點數)使用 64 位(8位元組) 來儲存一個浮點數。
它可以表示十進制的15或16位有效數字,負值取值范圍為 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范圍為 4.94065645841246544E-324 到 1.797693E+308
❸ java中將一個double類型的數強制轉換為long 型是四捨五入嗎
Java 中 long 是一個整數基本類型, 長度為64bits, 即8位元組.而double存在小數;如果帶小數點的double轉long型必定會造成數據變化!那麼,是怎麼變化的呢?
由此可見,java double轉long型是取整運算;
❹ 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中double類型轉換的方法是什麼
Double是對象,double是基本類型。
你好Double類型是double的包裝類,在JDK1.5以後,二者可以直接相互賦值,稱為自動拆箱和自動裝箱。看你的提示,我推測你的jdk版本在1.5以前。
如果是這樣,可以用Double中的方法,將包裝類轉為基本數據類型,如:
double amount = rec.getAmount().doubleValue()。
❻ Java基本數據類型轉換
首先你要明確我們什麼時候需要類型轉換,在java中整形數據默認為int類型,浮點數據默認為double類型,舉個例子給你看看int a=300;byte b;b=(byte)a;float c;double d=4545452.121;c=(float)d;一般只有當後面那個數據超過前面數據類型的范圍的時候我們才進行轉換,沒超過的話可以直接放入其中
❼ 用Java怎樣把String 轉換為double
Java將String轉換為double,主要是使用double的valueof方法如下:
doubleceshidouble=21.23;
Stringqiulinhe="34.343434";
ceshidouble=Double.valueOf(qiulinhe.toString());//進行轉換,如果string本身是其他的文字,則會拋出異常,需要進行處理。如下的代碼會發生異常,無法轉換
doubleceshidouble2=223.23;
Stringqiulinhe2="34.測試轉換錯誤";
Java中double也是可以轉換成string類型的,代碼如下:
publicstaticvoidmain(String[]args){
doubles=123456789.50;
DecimalFormatformat=newDecimalFormat("#.00");
StringsMoney=format.format(s);//進行格式化處理,將double轉換成string類型
System.out.println(sMoney);
}
String類型只要包含的字元串本身是屬於轉換後的類型,都能轉換成功,比如int類型、double類型、long類型,轉換會有失敗的可能,所以捕捉異常的情況。
❽ Java中的Long和Double類型
Java中的原子操作包括:
1)除long和double之外的基本類型的賦值操作
2)所有引用reference的賦值操作
3)java.concurrent.Atomic.* 包中所有類的一切操作。
但是java對long和double的賦值操作是非原子操作!!long和double佔用的位元組數都是8,也就是64bits。在32位操作系統上對64位的數據的讀寫要分兩步完成,每一步取32位數據。這樣對double和long的賦值操作就會有問題:如果有兩個線程同時寫一個變數內存,一個進程寫低32位,而另一個寫高32位,這樣將導致獲取的64位數據是失效的數據。因此需要使用volatile關鍵字來防止此類現象。volatile本身不保證獲取和設置操作的原子性,僅僅保持修改的可見性。但是java的內存模型保證聲明為volatile的long和double變數的get和set操作是原子的。(from
http://www.iteye.com/topic/213794)
舉個例子來說:(example is from
http://stackoverflow.com/questions/17481153/long-and-double-assignments-are-not-atomic-how-does-it-matter)
public class UnatomicLong implements Runnable {
private static long test = 0;
private final long val;
public UnatomicLong(long val) {
this.val = val;
}
@Override
public void run() {
while (!Thread.interrupted()) {
test = val;
//兩個線程都試圖將自己的私有變數val賦值給類私有靜態變數test
}
}
public static void main(String[] args) {
Thread t1 = new Thread(new
UnatomicLong(-1));
Thread t2 = new Thread(new
UnatomicLong(0));
System.out.println(Long.toBinaryString(-1));
System.out.println(pad(Long.toBinaryString(0),
64));
t1.start();
t2.start();
long val;
while ((val = test) == -1
|| val == 0) {
//如果靜態成員test的值是-1或0,說明兩個線程操作沒有交叉
}
System.out.println(pad(Long.toBinaryString(val), 64));
System.out.println(val);
t1.interrupt();
t2.interrupt();
}
// prepend 0s to the string to make it the target
length
private static String pad(String s, int targetLength) {
int n = targetLength - s.length();
for (int x = 0; x < n; x++) {
s = "0" + s;
}
return s;
}
}
❾ java 的long轉換double問題
(double)
b/1000;
這一步是把b先轉化為Double型
然後進行計算
因為計算的類型中有double型
所以1000自動轉化為double型
結果就是double型
12.345
b/1000;
這一步是long型/long型
得到的結果也是long型
就是12
然後轉化為double型
就是12.0
❿ 在JAVA中把double類型轉換成long類型,丟失數據位是什麼,為什麼
double是浮點型,long是整數型,以上語句轉換時小數部分沒有了,這就是丟失。javadouble轉long型是取整運算,用Double封裝下基本類型double,再調用longValue方法。Double(doublevalue)
longlongValue(),將此Double值作為long類型返回(通過強制轉換為long類型),詳細步驟:
1、首先在visualstudio中用c#語言進行類型轉換,新建項目命名"longdouble",項目結構圖如下。