Java 如何将String转化为Int及java.lang.NumberFormatException异常处理

Java NumberFormatException深度解析:从异常原理到防御性编码实战 在Java编程中,数据类型转换是基础且高频的操作,其中字符串到数字的转换涉及核心的解析原理。当程序尝试将不符合数字格式的字符串转换为数值类型时,JVM会抛出NumberFormatException这一运行时异常,这直接关系到程序的健壮性与数据处理的可靠性。该异常通常源于输入数据不纯、格式不匹配或编码问题,其技术价值在于促使开发者重视输入验证和异常处理机制,是构建高容错性系统的重要实践。在数据处理、Web接口交互及文件解析等应用场景中,未经验证的外部输入是主要风险源。本文聚焦于Java中常见的NumberF 阅读详情

在 Java 中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的 parseInt() 方法或者 valueOf() 方法进行转换.

例1:

1
2
3
4
5
6
String str =  "123" ;
try  {
     int  a = Integer.parseInt(str);
}  catch  (NumberFormatException e) {
     e.printStackTrace();
}

例2:

1
2
3
4
5
6
String str =  "123" ;
try  {
     int  b = Integer.valueOf(str).intValue()
}  catch  (NumberFormatException e) {
     e.printStackTrace();
}

在转换过程中需要注意,因为字符串中可能会出现非数字的情况,所以在转换的时候需要捕捉处理异常

如果发现自己转换的字符串都是数字,但还是抛异常,一般是存在空格之类的特殊字符,需要精确提取出字符串中的数字再进行转换,例:'wt.oart.WTPart.343532329',提取字符串要提取从3到9,而不能直接从3开始到结束。

从字符串精确提取数字,参考:http://blog.youkuaiyun.com/realroman/article/details/76880223

一般采用正则表达式提取。

Ps:确定自己截取的字符串全是数字;

确定是小于或等于八位。

GD32F4系列Keil工程模板搭建全攻略(手把手教学版) 本文提供了一份详细的GD32F4系列Keil工程模板搭建指南。从软件安装、固件库获取、目录规划,到Keil工程创建、文件添加、关键配置(如编译器选项、头文件路径、时钟设置),再到代码定制与常见问题排查,手把手教你构建一个标准化、模块化的开发基础。文章重点介绍了如何利用官方固件库和代码模板,快速建立稳定高效的开发环境,适用于GD32F407等Cortex-M4内核芯片的入门与项目开发。 阅读详情

相关推荐

E2000 RGMII0通讯异常问题总结

飞腾E2000 RGMII接YT8521,RGMII0路不通问题。

乌拉大喵喵 1628

String转int报java.lang.NumberFormatException

public static void main(String[] args){ System.out.println(Integer.valueOf("1096757000007")); } 原因:Integer所能表示的最大数值范围是-2的31次方到2的31次方-1即,-2147483648~2147483647(10位),Long表示的范围 -2的63次到2的63次方-1即-9223372036854775808~9223372036854775801(19位),上述的109657000.

一寸一寸光阴 1025

MATLAB功率谱函数psd与pwelch的使用

在网上看到 clear; Fs=1000; n=0:1/Fs:1; y=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); Nfft=1000; window=hanning(100); noverlap=20; dflag='none'; [Pxx,f]=psd(y,Nfft,Fs,window,noverlap); figure plot(f,10*log10(Pxx)); xlabel('frequency/Hz');ylab

qq_41687938的博客 2万+

String类型的值为小数转为Long类型报错

String类型的值为小数转为Long类型报错解决以及BigDecimal的运算方法

Java程序媛,欢迎大家一起交流学习~ 2726

大数据领域数据架构的工业互联网数据架构设计

工业互联网作为第四次工业革命的重要驱动力,正在深刻改变传统制造业的生产方式和商业模式。本文旨在探讨工业互联网环境下的大数据架构设计,重点解决工业数据采集、传输、存储、处理和分析等关键环节的技术挑战。工业互联网数据架构的核心组件大数据技术在工业场景下的应用数据治理和质量控制边缘计算与云计算的协同架构背景介绍:建立基本概念和问题域核心架构:详细解析工业互联网数据架构技术实现:通过代码和数学模型展示关键技术实践案例:展示真实场景应用工具资源:推荐实用开发工具和学习资源。

软件工程实践的博客 855

半导体工艺仿真:离子注入工艺仿真_(8).损伤和缺陷仿真

离子注入工艺在半导体制造中是一个重要的步骤,用于在半导体材料中引入特定的掺杂剂。然而,离子注入过程中不可避免地会产生损伤和缺陷,这些损伤和缺陷会直接影响器件的性能和可靠性。因此,对离子注入工艺中的损伤和缺陷进行仿真研究是必不可少的。本节将详细介绍如何使用仿真软件对离子注入过程中的损伤和缺陷进行建模和分析。

2401_87715305的博客 1339

Java把字符串转换成long型时,出现 java.lang.NumberFormatException: For input string: ““错误原因及解决方案

Java String转换为Long

bxhhd128126的博客 4128

手把手实现STM32+ESP8266+原子云服务器+手机APP应用——第三节-编写STM32程序实现STM32+ESP8266+原子云服务器+手机APP互相通信—远程数据传输及控制灯

接上一篇,本节使用原子云服务器。编写STM32程序实现STM32+ESP8266+原子云服务器+手机APP互相通信—远程数据传输及控制灯。使用的硬件包括:STM32F103(任意其他款系列也可以的)、正点原子ATK-ESP8266、LED灯。实现编写STM32程序代码来传输单片机数据到原子云服务器和手机APP进行显示,同时通过手机APP和原子云服务器可以远程控制单片机,例如本节实现远程点/灭灯,以此可以扩展开发更多的功能。本专栏本系列的相关文章可查看下面链接:

嵌入式阿齐Archie 8414

Java中String转Long方式及注意事项

字符串转Long: Long.ValueOf(String); 返回Long包装类 Long.parseLong(String); 返回long基本数据类型 注意事项: 1.字符串内不能包含除数字之外的字符 不然会报错,java.lang.NumberFormatException 2.字符串长度要限制,不然也会出错 比如:String...

kwame211的博客 2791

FPGA实现AXI-Stream通信

本文介绍了在FPGA中实现AXI-Stream接口的工业级方案,重点解析了核心协议信号(TVALID/TREADY/TDATA/TLAST)与可选扩展信号,并提供了Verilog最小化实现示例。文章详细阐述了握手协议规则、时序约束方法,以及吞吐量优化技巧(如寄存器切片和双缓冲策略),同时给出了跨时钟域处理的异步FIFO解决方案。此外,还包含验证调试方法(Testbench结构和ILA触发设置)和典型应用场景(视频处理/网络传输),最后提供了资源消耗参考数据。该实现方案严格遵循Xilinx/Intel官方规范

whm128的博客 1464

《Python星球日记》 第73天:情感分析与主题建模

《Python星球日记》 第73天:情感分析与主题建模,今天我们将探索两个自然语言处理领域的重要技术:情感分析和主题建模。这两项技术在社交媒体分析、用户反馈处理、市场研究等多个领域有着广泛应用。

Code_流苏:在代码中寻诗意,在实践中觅真知 919

String 转成long 异常处理一定要!

1.Java中如何将string 转化成long long l = Long.parseLong([String]); 或  long l = Long.parseLong([String],[int radix]);  long l = Long.valueOf("123").longValue(); 区别可以自己查看API 主要是想讲!  这个格式错误时候 因为Nu

cai_eternal的博客 2万+

基于STM32、HAL库的ADE7880ACPZ-RL电能计量芯片驱动程序设计

@retval 状态 (ADE7880_OK或ADE7880_ERROR)* @retval 状态 (ADE7880_OK或ADE7880_ERROR)* @retval 状态 (ADE7880_OK或ADE7880_ERROR)* @retval 状态 (ADE7880_OK或ADE7880_ERROR)* @retval 状态 (ADE7880_OK或ADE7880_ERROR)PA6 (MISO) <--> SDO (SPI数据输出)PB0 (CS) <--> /CS (片选,低有效)

corlin6688的博客 668

【java】java.lang.NumberFormatException: For input string: " " 错误

java.lang.NumberFormatException: For input string: " " 错误 异常 出现原因是 在把 String 转 int 时,当 String 有空格 会报这个错误 解决 : //方法一: // String 模块中的trim()函数会剔除掉字符串中的空格 String str = " 0 1 1"; int i = new Integer().pars...

qq_43259305的博客 3万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java.lang.NumberFormatException For input string 错误及解决办法

这种问题我遇到过两次不同的,一种是 String 转换为 int 型报错,另一种是 String 转换为 double 报错,其实是同一类型的错误,只是我运用的不同场景,忽略了本质。

m0_67393157的博客 4113

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

at java.lang.NumberFormatException.forInputString(Unknown Source)

当使用String转换成int的时候遇到的问题: (1)报错信息如下: Exception in thread "main" java.lang.NumberFormatException: For input string: "520 " at java.lang.NumberFormatException.forInputString(Unknown Source) at ...

qq_36098284的博客 1万+

Failed to convert value of type String to int. java.lang.NumberFormatException解决

Failedtoconvertvalueoftype'java.lang.String'torequiredtype'int';nestedexceptionisjava.lang.NumberFormatException解决

简介 1151

关于Swagger2报错java.lang.NumberFormatException: For input string: ""的总结

首先,说明一下报错的原因: 第一种情况: @ApiModelProperty(value = "排序", example = "1") private int sort_order; 如上代码,如果实体类中,int类型或者long类型字段,没有写example = "1"这个默认值的话,swagger会默认为""空字符串,所以字符串转数字,就有了Number...

choath的博客 3411

Java 中 字符串 "1234" 怎么转成 int?

问题 今天在stackoverflow看到一个有意思的问题。想在Java 中 把String 转为int.例如 输入 字符串 1234,期望输出 int 1234. 问题分析

极客编程的专栏 1262

java.lang.NumberFormatException 错误及解决办法

java.lang.NumberFormatException 为java的数字格式错误: 错误提示的在 numStack.push(Integer.parseInt(keepNum)); 检查原因: 出现在前面对于String keepNum="";定义中: 写为了String keepNum=" "; 加了空格 导致出错 : 转换中 不支持string字符串中有" " 和"-"等符号; 检查下 是不是 要从string转换成int的字符串 是不是数字格式的,不是的话就会报这种错误 ...

qq_44836918的博客 1002

数字String转int数字格式异常问题 java.lang.NumberFormatException:For input string

问题: String numstr="354.00"; int num=Integer.valueOf(numstr); 报异常 java.lang.NumberFormatException:For input string 分析: //整型字符串可以使用以下方法直接转为int int intNum1 = Integer.parseInt(num1); int intNum3 =...

heni6560的博客 2897

java.lang.NumberFormatException: For input string: "19000000000" at java.lang.NumberFormatExceptio

Exception in thread "main" java.lang.NumberFormatException: For input string: "19000000000" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown So

a7310361135的专栏 6371

java报错:java.lang.NumberFormatException: For input string: “XXX“

1、报错原因 在String转int时,当 String 有空格或者String不是纯数字时,就会报这个错 这个异常一般会出现在String转int或者integer过程(Integer.valueOf()或者Integer.valueOf().intValue() 或者Integer.parseInt())中 2、解决办法 //解决方法一: // 使用String模块中的trim()函数会剔除掉字符串中的空格 String str = " 12345678 "; int stri

甜到你了么的博客 3665

java.lang.NumberFormatException

异常信息: 1.Exception in thread "main" java.lang.NumberFormatException: For input string: "1 "   at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)   at java.lang....

weixin_30500473的博客 197

Caused by: java.lang.NumberFormatException: Invalid double: ""

04-12 12:33:14.900: D/AndroidRuntime(30659): Shutting down VM 04-12 12:33:14.900: W/dalvikvm(30659): threadid=1: thread exiting with uncaught exception (group=0x4156d300) 04-12 12:33:14.910: E/Andro

hety163的专栏 1万+
上一篇: tnsnames.ora 配置 SID
下一篇: java从字符串中提取数字
普通网友
博客等级 码龄12年 15粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值