字符串转数字(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打开,果然页面展现卡在那儿了,并且报了"缺少标识符.字符串或数字".查看是在 ...
随机推荐
- 使用flask-restful搭建API
最简单的例子 ---~~~~ 访问http://127.0.0.1:5000/ , 返回{"hello": "world"} from flask import ...
- 【转】python爬虫之腾讯视频vip下载
本文转自如下:作者:jia666666 原文:https://blog.csdn.net/jia666666/article/details/82466553 版权声明:本文为博主原创文章,转载请附上 ...
- 用代码说话:如何在Java中实现线程
并发编程是Java语言的重要特性之一,"如何在Java中实现线程"是学习并发编程的入门知识,也是Java工程师面试必备的基础知识.本文从线程说起,然后用代码说明如何在Java中实现 ...
- vue当图片加载失败时,用一个默认图片替换;
原理就是给img绑定error事件,替换原有的src地址. 首先在data中创建一个defaultImg(随便起的),里面的值是该默认图片的地址: 在html页面的img标签上绑定该属性 这样默认图片 ...
- Flink的Job启动JobManager端(源码分析)
通过前面的文章了解到 Driver将用户代码转换成streamGraph再转换成Jobgraph后向Jobmanager端提交 JobManager启动以后会在Dispatcher.java起来RPC ...
- MySQL的count(*)的优化,获取千万级数据表的总行数[转]
一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数. 二.关于cou ...
- Node开发知识概括
一. javascript高级话题(面向对象,作用域,闭包,设计模式等) 1. 常用js类定义的方法有哪些? 参考答案:主要有构造函数原型和对象创建两种方法.原型法是通用老方法,对象创建是ES5推荐使 ...
- 8.8&8.9 dp训练小结
写了两天的dp题,表示大多dp都不会啊,还是爆搜大法好.我真的太蒻了dp还是要多做题啊,一些基本的套路还是不熟,真正写对的dp也就一道,还一道爆搜过的,dp还有很深的坑要填啊.. 8.8 T1 质数和 ...
- yzoj1985 最长公共单调上升子序列 题解
题面给两个序列a,b长度分别为n,m求最长公共上升子序列,百度了一下求公共子序列的问题好像叫做LCS,而上升的叫做LCIS.都是dp的例题. 先来说说最长公共子序列,这是一道比较经典的dp题,我们可以 ...
- Mysql的事务及行级锁
转自:http://www.cnblogs.com/edwinchen/p/4171866.html 以签到为例,每个用户每天只能签到一次,那么怎么去判断某个用户当天是否签到呢?因为当初表设计的时候, ...