假设我有两个字符串对象:“25000.00”,以及我的程序在运行时获得的“1234”。如何检查它们是否 castable 可转换为double和int类型? Java中有一个方法或关键字吗?
答案 0 :(得分:8)
您可以使用Integer.parseInt
或Double.parseDouble
静态方法执行此操作。这些方法中的每一个都会使用String
并根据需要将其转换为int
或double
。您可以通过调用此函数来检查字符串是否可转换。如果可以进行转换,则会执行转换。否则,方法将抛出NumberFormatException
s,您可以捕获并响应。例如:
try {
int value = Integer.parseInt(myString);
// Yes! An integer.
} catch (NumberFormatException nfe) {
// Not an integer
}
希望这有帮助!
答案 1 :(得分:3)
只是澄清一下:String
从不可投递到Double
或Integer
。
但是,您可以使用Double.parseDouble
和Integer.parseInt
方法解析字符串作为数字。如果它们不可解析,那么将抛出NumberFormatException
。你可以抓住它并妥善处理它。
投射和解析是完全不同的事情。
编辑:我看到@BalusC编辑了这个问题并将“cast”改为“convert”。我想我的评论现在多余了:)答案 2 :(得分:0)
在C#中,有一种方法可以检查对象是否可以转换为其他对象。但我想,Integer.parseInt或Double.parseDouble就足够了。