javastringdouble
A. java中,如何将字符串转换成double类型
其它人提供了要捕捉异常的Double.parseDouble(str)方法。我提供另外一个不需手动捕捉异常的方法:
String str = "5.3739";
double d = new Double(str);
我也推荐大家使用这种方法,我们没必要每次对每个细节都要手动捕捉异常,我们只需要对应用层进行捕捉异常就即可。这样的好处有两点:1,处理异常方便,简洁明了,2,代码不会到处有庸肿难看;另外有可能会留下没有被遇料到异常。
B. 用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类型,转换会有失败的可能,所以捕捉异常的情况。
C. [java] string类型转为double
精度的问题!用基本类型的double类型进行运算可能会丢失精度。而且特别大的数又没法处理。所以如果用BigDecimal这个类问题就解决了。这个类在java.Math包下。它可以处理任意精度的数据。对于楼主出现的问题,我从新写了段代码,供楼主参考。但是主要是还得查看API!代码如下:
importjava.math.*;
publicclassoopp
{
publicstaticvoidmain(String[]args)
{
Stringa="1467000000";
doubleaa=Double.parseDouble(a);
BigDecimalbeichushu=newBigDecimal(aa);
BigDecimalchushu=newBigDecimal(100000000);
BigDecimalresult=beichushu.divide(chushu,newMathContext(4));//MathConText(4)表示结果精确4位!
booleanisTrue=String.valueOf(result).equals("14.67");
System.out.println("1467000000除以100000000="+result);
System.out.println(result+"与14.67比较的结果是"+isTrue);
}
}
D. java 怎么把一个String型数组 转成Double型数组
把你的String型数组遍历一次,然后通过Double.parseDouble把String型数组每个值转换一次。然后赋值给Double型数组中值
E. java 将string[] 类型转换为double[][]类型
这么写肯定会出现空指针 除非num 和 strnum4 长度一样
不知道你写这段代码什么意思 是要把num里面的字符 赋值成double吗?
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//System.out.println("hello word!");
String[] num = {"1","2","3","4"};
double strNum4[] = new double[4];
for(int i = 0;i<num.length;i++){
strNum4[i] = Double.parseDouble(num[i]);
}
System.out.println(strNum4[2]);
}
}
我试过了 这样是不会报错的 希望能帮到你 不知道你具体问题
F. java中如何把一个String类型的变量转换成double型的
java中把String类型的变量袭转换成double类型变量的方法:
对于数值的字符串"12345",将其转化成数字12345做法如下:
String s="12345";
double d;
d=Double.parseDouble(s);
转化完成。
扩展内容:
(1)在Java中有8种数据类型来存储数值、字符和布尔值。
(2)整数型用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整数数据在Java程序中有3种表示形式,分别为十进制、八进制和十六进制。
(3)整型数据类型有:byte、short、int、long
(4)布尔型数据类型有:true、false
G. java中double类型转换为String类型
//String类中本身提供方抄可以袭将几乎所有的基本类型转换为String类型
//可以这么调用
//String.valueOf(222.222);
//这个方法返回的就是double对应的字符串
//示例代码如下
packagecom.lk.simpleDeveloper.test;
publicclassTest{
publicstaticvoidmain(String[]args){
doubled=12.25;
Stringstr=String.valueOf(d);
System.out.println(str);
}
}
H. java 中double如何转为string
基础类型转来换为String类型可以有一下集源中方法,
1.使用字符串拼接的方法,代码实例如下:
System.out.println((a+"") instanceof String);
这样就可以直接转为String类型
2. 使用String.valueOf方法,转为String类型
String.valueOf(a);
测试代码和结果如下
资料拓展:
如果这2种类型是兼容的,那么Java 将自动地进行转换。
如果这2种类型是兼容的,那么Java 将自动地进行转换。例如,把int 类型的值赋给long类型的变量,总是可行的。
然而,不是所有的类型都是兼容的。因此,不是所有的类型转换都是可以隐式实现的。例如,没有将double 型转换为byte 型的定义。
幸好,获得不兼容的类型之间的转换仍然是可能的。要达到这个目的,你必须使用一个强制类型转换,它能完成两个不兼容的类型之间的显式变换。让我们看看自动类型转换和强制类型转换。
I. java中如何把String型转化成double型的
这样转的:
public static void main(String[] args) throws Exception{
double aa = stringToDouble("12.23");
System.out.println("aa:"+aa);
}
String转double保留位小数:
/**
* String转换成double 保留N位小数。
* @param a
* @return
*/
public static double stringToDouble(String a){
double b = Double.valueOf(a);
DecimalFormat df = new DecimalFormat("#.0");//此为保留1位小数,若想保留2位小数,则填写#.00 ,以此类推
String temp = df.format(b);
b = Double.valueOf(temp);
return b;
}
(9)javastringdouble扩展阅读:
double 转string
#include <string>
CString strResultx;
strResultx.Format(_T("x:%.4f "), 89.7887878);
转换结果还是放在strResultx
两个字符串相连
CString strResulty;
strResultx += strResulty;