博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从获得字符串中获取数字
阅读量:5170 次
发布时间:2019-06-13

本文共 2266 字,大约阅读时间需要 7 分钟。

根据传递字符串得到double值或者int型

package com.shopping.test;public class test {    /**     * 解析str,获得其中的整数     * @param str 待解析的str     */    private static int getIntValue(String str) {        int r = 0;        if (str != null && str.length() != 0) {            StringBuffer bf = new StringBuffer();            char[] chars = str.toCharArray();            for (int i = 0; i < chars.length; i++) {                char c = chars[i];                if (c >= '0' && c <= '9') {                    bf.append(c);                } else if (c == ',') {                    continue;                } else {                    if (bf.length() != 0) {                        break;                    }                }            }            try {                r = Integer.parseInt(bf.toString());            } catch (Exception e) {            }        }        return r;    }    /**     * 解析字符串获得双精度型数值,     * @param str     * @return     */    private static double getDoubleValue(String str) {        double d = 0;        if (str != null && str.length() != 0) {            StringBuffer bf = new StringBuffer();            char[] chars = str.toCharArray();            for (int i = 0; i < chars.length; i++) {                char c = chars[i];                if (c >= '0' && c <= '9') {                    bf.append(c);                } else if (c == '.') {                    if (bf.length() == 0) {                        continue;                    } else if (bf.indexOf(".") != -1) {                        break;                    } else {                        bf.append(c);                    }                } else {                    if (bf.length() != 0) {                        break;                    }                }            }            try {                d = Double.parseDouble(bf.toString());            } catch (Exception e) {            }        }        return d;    }    public static void main(String[] args) {        //1.5(参考代表值)        String str1="1.5(参考代表值)";       // String str1="0.730000019073486";        double str1D = getDoubleValue(str1);        System.out.println(str1+"->"+str1D);        int i = getIntValue(str1);        System.out.println(str1+"->"+i);    }}

 注意:这个方法只能获取一个值。

转载于:https://www.cnblogs.com/wyf-love-dch/p/11138284.html

你可能感兴趣的文章
python-线程互斥锁与递归锁
查看>>
异界冒险
查看>>
Unity3D:UGUI遍历子控件
查看>>
Fizz Buzz 面试题
查看>>
HDU-2027
查看>>
关于 Java 数组的 12 个最佳方法
查看>>
java中强制类型转换
查看>>
合并查找到的文件,至新的文件中
查看>>
Hibernate —— 映射关联关系
查看>>
UVA - 10129 Play on Words(欧拉回路)
查看>>
Spring MVC 基于URL的映射规则(注解版)
查看>>
Elasticsearch增删改查 之 —— mget多文档查询
查看>>
fineui中前端自定义函数
查看>>
静态页面放图片及居中
查看>>
0310复利计算
查看>>
写一篇总结
查看>>
兼容IE8以下,获取className节点的元素(document.getElementsByClassName()兼容写法)。
查看>>
UTF与ascii区别
查看>>
auto-sklearn简介
查看>>
CocoaPods安装记录
查看>>