gpt4 book ai didi

java - 将 java.lang.String 转换为 java.lang.Number

转载 作者:行者123 更新时间:2023-12-02 07:39:30 26 4
gpt4 key购买 nike

我有一个 String 对象,我需要转换为 java.lang.Number。

Number num = null;
Object cellContents = ".475";

如果我尝试将cellContents直接转换为Number,

num = (Number) cellContents;

它抛出异常:

E[java.lang.ClassCastException: java.lang.String]:  : java.lang.ClassCastException: java.lang.String

我进行了搜索,但无法获得关于如何实现这一目标的完整答案。请帮忙!!!

最佳答案

您不能只转换引用类型。您收到异常,因为它指向的 String 对象不是 Number 对象

但是,如果您知道它是字符串,则可以将引用强制转换为字符串。您可以使用 Double.valueOf( String )Float.valueOf( String ) 将其转换为实际值。一旦获得双倍,您可以使用 auto-boxing将其转换为 Double,即 Number。

Object cellContents = ".475";
Number num = null;
if ( cellContents instanceof String ) {
try {
double d = Double.valueOf( (String) cellContents );
num = (Double) d; // Auto-boxing
}
catch ( NumberFormatException e ) {
...
}
}
else {
...
}

关于java - 将 java.lang.String 转换为 java.lang.Number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18081126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com