❶ 在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",项目结构图如下。