字符串转数字(with Java)
1. 字符串中提取数字
两个函数可以帮助我们从字符串中提取数字(整型、浮点型、字符型...)。
- parseInt()、parseFloat()...
- valueOf()
String str = "1230";
int d = Integer.parseInt(str); //静态函数直接通过类名调用,返回int型
//or
int d3 = Integer.valueOf("1230"); //通过静态函数valueOf返回包装类Integer类型
System.out.println("digit3: " + d3);
注意:从字符串中提取可能会产生一种常见的异常: NumberFormatException。
原因主要有两种:
Input string contains non-numeric characters. (比如含有字母"123aB")
Value out of range.(比如Byte.parseByte("128") byte的数值范围在 -128~127)
解决方法:
通过 try-catch-block 提前捕捉潜在异常。
try {
float d2 = Float.parseFloat(str);
System.out.printf("digit2: %.2f ", d2 );
} catch (NumberFormatException e){
System.out.println("Non-numerical string only.");
}
try {
byte d4 = Byte.parseByte(str);
System.out.println("digit3: " + d4);
} catch (NumberFormatException e) {
System.out.println("\nValue out of range. It can not convert to digits.");
}
2. 数字转字符串
使用 String 类的 valueOf() 函数
String s = String.valueOf(d);
3. 代码
public class StringToDigit {
public static void main(String[] args) {
//convert string to digits using parseInt()、parseFloat()...
String str = "127";
int d = Integer.parseInt(str);
System.out.printf("d: %d ", d);
try {
float d2 = Float.parseFloat(str);
System.out.printf("digit2: %.2f ", d2 );
} catch (NumberFormatException e){
System.out.println("Non-numerical string only.");
}
//or using valueOf()
int d3 = Integer.valueOf("1230");
System.out.println("digit3: " + d3);
try {
byte d4 = Byte.parseByte(str);
System.out.println("digit3: " + d4);
} catch (NumberFormatException e) {
System.out.println("\nValue out of range. It can not convert to digits.");
}
//convert digits to string using valueOf()
System.out.println(String.valueOf(d));
System.out.println(String.valueOf(d3));
}
}
加油各位!如果觉得有用的话,可以点个推荐吗?(祈求脸.jpg)
字符串转数字(with Java)的更多相关文章
- [原]Java面试题-将字符串中数字提取出来排序后输出
[Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...
- java中字符串与数字的互相转换
import java.text.DecimalFormat; /* * String类中本身提供方法可以将几乎所有的基本类型转换为String类型 * sysout alt+/ 可以直接显示Syst ...
- JavaScript字符串转数字的5种方法及其陷阱
摘要 :JavaScript 是一个神奇的语言,字符串转数字有 5 种方法,各有各的坑法! String 转换为 Number 有很多种方式,我可以想到的有 5 种! parseInt(num); / ...
- kotlin字符串和数字之间的转换和人机交互
继续基础学习~ 字符串和数字之间的转换 那如何转换呢,其实很简单: 编译木有报错,但是运行: 所以这里了解下. 人机交互 看这标题貌似高端的,其实也就是程序可以接受键盘的输入啦,下面开始: 首先提示用 ...
- 转:IE兼容模式下 SCRIPT1028: 缺少标识符、字符串或数字
IE兼容模式下 SCRIPT1028: 缺少标识符.字符串或数字例如下面一段代码 var a = { x: 1, y: 2,};alert(a.x);如果在IE的兼容性视图(IE7文档模式 ...
- 剑指Offer面试题:35.将字符串转换为数字
一.题目:将字符串转换为数字 题目:写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不能使用atoi或者其他类似的库函数. 二.代码实现 (1)考虑输入的字符串是否是NULL.空字符 ...
- Oracle 把秒转成时分秒格式(hh24:mm:ss);检测字符串是否是数字;字符串转换为数字
不说废话,贴代码: CREATE OR REPLACE FUNCTION to_time(sec IN NUMBER) RETURN VARCHAR2 IS /*把秒转成时分秒格式 auth lzpo ...
- js 字符串转换数字
方法主要有三种转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对 ...
- php 字符串和数字比较一些问题
本文章来给大家介绍关于php 字符串和数字比较一些问题,因为数字与字符在php中是不同的数据类型,所以在比较时可能会有很多的问题. ,1,2等等,其中0标示成功,其他表示不同的错误代码.程序通过 if ...
- javascript 在ie8中报“缺少标识符、字符串或数字“问题再现:
开发和测试使用Chrome浏览器比较多,客户反馈某个页面打不开,自己用Chrome打开一切正常,用ie8打开,果然页面展现卡在那儿了,并且报了"缺少标识符.字符串或数字".查看是在 ...
随机推荐
- nuget cli常用命令简介
起因:使用nuget,但是部分同事用的mac,不能用vs的包管理器查看私有nuget库里面的包,所以,就总结了几个常用的 nuget cli 命令,方便全平台使用nuget 废话不多,直入主题 准备: ...
- java中的case里嵌套if条件句; 输入一个年份的某一个月份,判断这个月有多少天
public class year { public static void main(String arg[]){ Scanner a=new Scanner(System.in ...
- JS实现停留几秒sleep,Js中for循环的阻塞机制,setTimeout延迟执行
//第一种,使用while循环 function sleep(delay) { var start = (new Date()).getTime(); while((new Date()).getTi ...
- 第一个Javaweb应用程序
第一个Javaweb应用程序 一.Javaweb应用程序结构 一个 web 应用程序是由一组 Servlet,HTML 页面,类,以及其它的资源组成的运行在 web 服务器上的完整的应用程序,以一种结 ...
- 从技术小白到收获BAT研发offer,分享我的学习经验和感悟(赠送相关学习资料)
去年秋季参加了校园招聘,有幸拿到了BAT.头条.网易.滴滴.亚马逊.华为等offer,经过研究生两年的学习积累,终于达成了自己的目标,期间也经历了很多,谨以此文,聊表感叹,也会分享很多我的Java学习 ...
- 关于python的特殊方法
最近在阅读<流畅的python>这本书,在第一章中作者就提到了几个python中的特殊方法,代码入下: class FrenchDuck: ranks = [str(n) for n in ...
- C++ switch注意事项(陷阱)
话不多说,直接上代码 int a; printf("请输入一个整数:"); scanf("%d", &a); switch (a) { : printf ...
- Oracle - SQL语句实现数据库快速检索
SQL语句实现数据库快速检索 有时候在数据库Debug过程中,需要快速查找某个关键字. 1:使用PLSQL Dev自带的查找数据库对象,进行对象查找 缺点:查找慢.耗时. 2:使用SQL语句对数据库对 ...
- Prim算法、Kruskal算法、Dijkstra算法
无向加权图 1.生成树(minimum spanning trees) 图的生成树是它一棵含有所有顶点的无环联通子图 最小生成树:生成树中权值和最小的(所有边的权值之和) Prim算法.Kruskal ...
- HDU-5977 - Garden of Eden 点分治
HDU - 5977 题意: 给定一颗树,问树上有多少节点对,节点对间包括了所有K种苹果. 思路: 点分治,对于每个节点记录从根节点到这个节点包含的所有情况,类似状压,因为K<=10.然后处理每 ...