在 Java 中,把 String 转为数字 通常依赖 包装类(Integer、Double 等)的 parse 或 valueOf 方法。下面按常见类型说明。
String s = "123";
int num = Integer.parseInt(s);
或使用 valueOf(返回 Integer,可自动拆箱):
int num = Integer.valueOf(s);
String s = "123456789";
long num = Long.parseLong(s);
String s = "3.14";
double d = Double.parseDouble(s);
String s = "2.5";
float f = Float.parseFloat(s);
字符串可能不是合法数字,会抛异常:
try {
int num = Integer.parseInt("abc");
} catch (NumberFormatException e) {
e.printStackTrace();
}
✅ 推荐写法(安全转换):
public static Integer toInt(String s) {
try {
return Integer.parseInt(s);
} catch (NumberFormatException e) {
return null;
}
}
int num = (int) "123"; // 编译错误
int a = Integer.parseInt("-10"); // -10
int num = Integer.parseInt(" 123 ".trim());
Optional<Integer> num = Optional.ofNullable(s)
.map(Integer::parseInt);
如果你有 具体场景(如:用户输入、配置文件、JSON、BigDecimal)我可以给你更合适的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。