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)的更多相关文章

  1. [原]Java面试题-将字符串中数字提取出来排序后输出

    [Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...

  2. java中字符串与数字的互相转换

    import java.text.DecimalFormat; /* * String类中本身提供方法可以将几乎所有的基本类型转换为String类型 * sysout alt+/ 可以直接显示Syst ...

  3. JavaScript字符串转数字的5种方法及其陷阱

    摘要 :JavaScript 是一个神奇的语言,字符串转数字有 5 种方法,各有各的坑法! String 转换为 Number 有很多种方式,我可以想到的有 5 种! parseInt(num); / ...

  4. kotlin字符串和数字之间的转换和人机交互

    继续基础学习~ 字符串和数字之间的转换 那如何转换呢,其实很简单: 编译木有报错,但是运行: 所以这里了解下. 人机交互 看这标题貌似高端的,其实也就是程序可以接受键盘的输入啦,下面开始: 首先提示用 ...

  5. 转:IE兼容模式下 SCRIPT1028: 缺少标识符、字符串或数字

    IE兼容模式下 SCRIPT1028: 缺少标识符.字符串或数字例如下面一段代码 var a = {    x: 1,    y: 2,};alert(a.x);如果在IE的兼容性视图(IE7文档模式 ...

  6. 剑指Offer面试题:35.将字符串转换为数字

    一.题目:将字符串转换为数字 题目:写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不能使用atoi或者其他类似的库函数. 二.代码实现 (1)考虑输入的字符串是否是NULL.空字符 ...

  7. Oracle 把秒转成时分秒格式(hh24:mm:ss);检测字符串是否是数字;字符串转换为数字

    不说废话,贴代码: CREATE OR REPLACE FUNCTION to_time(sec IN NUMBER) RETURN VARCHAR2 IS /*把秒转成时分秒格式 auth lzpo ...

  8. js 字符串转换数字

    方法主要有三种转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对 ...

  9. php 字符串和数字比较一些问题

    本文章来给大家介绍关于php 字符串和数字比较一些问题,因为数字与字符在php中是不同的数据类型,所以在比较时可能会有很多的问题. ,1,2等等,其中0标示成功,其他表示不同的错误代码.程序通过 if ...

  10. javascript 在ie8中报“缺少标识符、字符串或数字“问题再现:

    开发和测试使用Chrome浏览器比较多,客户反馈某个页面打不开,自己用Chrome打开一切正常,用ie8打开,果然页面展现卡在那儿了,并且报了"缺少标识符.字符串或数字".查看是在 ...

随机推荐

  1. Scala 系列(六)—— 常用集合类型之 List & Set

    一.List字面量 List 是 Scala 中非常重要的一个数据结构,其与 Array(数组) 非常类似,但是 List 是不可变的,和 Java 中的 List 一样,其底层实现是链表. scal ...

  2. eShopOnContainers部署在docker的坑

    把eShopOnContainers(.net core 的版本是2.1)下载之后,部署到docker上,查看容器eShopOnContainers的项目都部署上去了. 用http://localho ...

  3. Codeforces 985D

    题意略. 思路:这个题本来打算先推一下公式,然后解方程来算.函数图像大概如下: 最左端为H.但是由于中间那个尖的地方(假设它的高度为h),可能在那个地方有多堆沙包,所以推公式貌似不行. 但是最高高度h ...

  4. 学测试,看视频?NONONO,除非这种情况

    001 前言 : 很久没周末写文章了,一个是要睡懒觉.另外一个是,周末写了大家也没有心思看(加班1周了,好不容易周末,你又让我学习 ?先睡个懒觉再说,去TM的学习). 然而,今天早早的5点就起床了,处 ...

  5. IDEA-Maven项目的jdk版本设置

    在 Intellij IDEA 中,我们需要设置 Settings 中的 Java Compiler 和 Project Structure 中的 Language Level 中的 jdk 版本为自 ...

  6. python 用加法实现a,b两数相乘

    """思路:1.a * b = a + a + a + ... 2.a * b = n个a相加,只需求证b = n即可 3.用for 循环遍历即可,b就是range的最大 ...

  7. git 如何实现进行多人协作开发(远程仓库)

    第一.Git作为分布式的版本控制系统,你是你本地仓库的主人,但是想要实现多人的协作开发,你就要将你本地的开发推送到远程共享仓库中供大家下载,本篇主要以github作为远程服务器来介绍有关远程仓库这块内 ...

  8. CodeForces 103D Time to Raid Cowavans 询问分块

    Time to Raid Cowavans 题意: 询问 下标满足 a + b * k 的和是多少. 题解: 将询问分块. 将b >= blo直接算出答案. 否则存下来. 存下来之后,对于每个b ...

  9. Unsolved输入格式错误1022

    https://pintia.cn/problem-sets/994805342720868352/problems/994805480801550336

  10. HTTPS页面使用CNZZ统计代码,Chrome显示警告怎么办?

    很多站长会遇到一个问题,网站加入CNZZ的JS统计代码后,Chrome浏览器出现警告:阻止跨站解析器阻断脚本通过document.write调用(A parser-blocking, cross si ...