我想将String
转换为Double
数据类型。我不知道应该使用parseDouble
还是valueOf
。
这两种方法有什么不同?
发布于 2014-06-25 14:20:30
parseDouble()方法用于初始化字符串(应该包含一些数值),它返回的浮点值是原始数据类型,如....the、....the等。
但是valueOf()创建了一个包装器类的对象。你必须解开它才能得到双精度的值。它可以比作巧克力。制造商用锡纸或纸把巧克力包起来以防污染。用户拿起巧克力,取出并扔掉包装纸,然后吃掉它。
观察以下转换。
int k = 100; Integer it1 = new Integer(k);
使用Integer类将int数据类型k转换为对象it1。在需要k作为对象的任何地方,都可以在Java编程中使用it1对象。
下面的代码可以用来解开(从Integer对象取回int )对象it1。
int m = it1.intValue();
System.out.println(m*m);//打印10000
//intValue()是Integer类的方法,返回int数据类型。
发布于 2012-05-14 14:30:42
它们都将字符串转换为double值,但是parseDouble()方法返回原始double值时,valueOf()方法进一步将原始double转换为包含原始Double值的double包装器类对象。
如果字符串中的值不能转换为双精度原语,则从字符串到双精度原语的转换可能会抛出NFE(NumberFormatException)。
发布于 2012-05-14 12:49:15
parseDouble()
的文档说“返回一个初始化为指定字符串所表示的值的新双精度值,正如double类的valueOf方法所执行的那样。”,因此它们应该是相同的。
https://stackoverflow.com/questions/10577610
复制相似问题