概述
Java百分数转换成数值类型
今天在项目中遇到需要将百分数转换成double类型的问题,因为double不支持带百分号的数值.
在查阅资料后,发现了一种可行方案:
import java.text.NumberFormat;//引入数值处理的包
import java.text.ParseException;//引入可能出现的异常包
String str="34.2%";//字符串类型的百分数
NumberFormat nf=NumberFormat.getPercentInstance();
Number m=nf.parse(str);//将百分数转换成Number类型
/*关于Number类型介绍 可以参考http://c.biancheng.net/cpp/html/1737.html
但是鉴于排版 更推荐http://blog.csdn.net/peng_hong_fu/article/details/52597278
*/
double dd=m.doubleValue();//通过调用nubmer类默认方法直接转换成double
关于NumberFormat和ParseException的介绍 引用了百度知道的回答:
Java API文档提供了对数值格式化的类NumberFormat。
NumberFormat 是所有数值格式的抽象基类。此类提供格式化和解析数值的接口。
NumberFormat 还提供了一些方法来确定哪些语言环境具有数值格式,以及它们的名称是什么。
NumberFormat 可用于格式化和解析任何语言环境的数值。使代码能够完全独立于小数点、千位分隔符甚至所用特定小数位数的语言环境约定,并与数值格式是否为偶小数无关
以下是回答中的例子 我做了一个排版
import java.text.NumberFormat;//引入数值处理的包
import java.text.ParseException;//引入可能出现的异常包
String str="34.2%";//字符串类型的百分数
NumberFormat nf=NumberFormat.getPercentInstance();//NumberFormat是一个工厂,可以直接getXXX创建,而getPercentInstance() 是返回当前默认语言环境的百分比格式。
Number m=nf.parse(str);//提供了带有 ParsePosition 和 FieldPosition 的 parse 和 format 方法的形式,parse(xx)表示解析给定字符串开头的文本,生成一个数值。逐步地解析字符串的各部分
System.out.println(m);//打印数值
//你不必重复造轮子。
附上百度知道的链接
https://zhidao.baidu.com/question/492889383.html
如果觉得对您有帮助,请不要吝啬您的 顶
最后
以上就是老迟到冥王星为你收集整理的Java 百分数转换成double类型的数值Java百分数转换成数值类型的全部内容,希望文章能够帮你解决Java 百分数转换成double类型的数值Java百分数转换成数值类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复