java 实现获取指定位置后的第一个数字

目录
  • 获取指定位置后的第一个数字
    • 环境
    • 场景
    • 代码
  • 获取一串数字中每一位数的小技巧

获取指定位置后的第一个数字

环境

java:1.7

场景

今天遇到这么一个需求:

10转增7.5股派1.5元(含税)

10派1.5元(含税)

不分配不转增

10转增3股

10派1.34元(含税)

10送2转增8股派0.3元

10送2.5转增1.5股

10送2股

会有类似上面的字符串,需要根据“送”,“增”和“派”来把后面的数字给切出来;再进行拼接。

比如:

字符串为“10送2转增8股派0.3元”,根据“送”来切,得到的数字就是“2”,根据“增”就是8,根据“派”来切就是“0.3”;

之后要根据不同的词切出来的字,还要进行拼接:

“送” 要拼接成:“10送2股”

“增”要拼接成:“10送8股”

“派”要拼接成:“10送0.3元”

代码

/**
 * 获取指定位置后的第一个数字
 * @author yutao
 * @param dividBoard
 * @param string
 * @return
 * @date 2018年9月7日上午11:03:35
 */
public static String getDigital(String dividBoard, String str){
    String result = "";
    int songIndex = dividBoard.indexOf(str);
    if(songIndex != -1){
        for(int i=songIndex+1; i<dividBoard.length(); i++){
            int charInt = (int)dividBoard.charAt(i);
            if(charInt == 46){
                result += (char)charInt;
                continue;
            }
            if(47<charInt && charInt<58){
                result = result + (char)charInt;
            }else{
                break;
            }
        }
    }
    return result;
}

我用的方法思路很简单,就是先根据关键词确定位置,如何再去判断数字,只是需要特别注意小数点符号;

上面的代码根据数字在ASCII表中的编号来进行判断的。数字0-9的范围是48-57,小数点符号是46。

获取一串数字中每一位数的小技巧

假定有一个五位数 57648 ,我们要获取他的万位、千位、百位、十位、个位的每一个数值,有一个比较方便的做法,不用去做字串截取。

// 数值 57648
int num= 57648;
// 万位 除以一万
int wanWei = num / 10000;// 利用自动类型转换获取得到 5 以下同理
// 千位 以一万取余,然后除以一千
int qianWei = num % 10000 / 1000;// 得到 7
// 百位 以一千取余,然后除以一百
int baiWei = num % 1000 / 100;// 得到 6
// 十位 以一百取余,然后除以十
int shiWei = num % 100 / 10;// 得到 4
// 个位 以十取余
int geWei = num % 10;// 得到 8

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java随机抽取指定范围不重复的数字

    本文给大家介绍如何在JAVA中实现随机无重复数字的功能.如果您是初学者的话,有必要看一看这篇文章,因为这个功能一般会在面试中遇到.包括我本人在招聘人员的时候也喜欢拿这个问题去问别人,主要看一看考虑问题的模式和基础知识如何. 希望这篇文章能给初次接触的朋友一些帮助,因为我曾接触过一些朋友要么写不出来,要么使用很平铺的思维方式去实现它. 一般有点开发经验的朋友都能实现这样的功能,只不过是效率上的问题.我们一般在面对这样的问题时,总会平铺直序的联想到,先生成一个数组,然后在一个循环中向数组中添加随机数

  • Java获得指定区间数的方法

    本文实例讲述了Java获得指定区间数的方法.分享给大家供大家参考.具体如下: 在编写Java程序的时候很多时候都用到了随机数,但是一直都是用一次查一次,这次来一个总结吧,把Java中得随机数的产生弄的清晰一些,以后就直接自己参考自己的这篇文章就好了. Java中有两个类可以产生随机数: java.util.Random和java.Math.Random Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法.它可以产生int.long.float.double以

  • Java实现从字符串中找出数字字符串的方法小结

    本文实例总结了Java实现从字符串中找出数字字符串的方法.分享给大家供大家参考,具体如下: int start = 0; String numStr = null; for (int j = 0; j < valuesStr.length() - 1; j++) { if (Character.isDigit(valuesStr.charAt(j)) == false && Character.isDigit(valuesStr.charAt(j + 1)) == true) { s

  • java 实现获取指定位置后的第一个数字

    目录 获取指定位置后的第一个数字 环境 场景 代码 获取一串数字中每一位数的小技巧 获取指定位置后的第一个数字 环境 java:1.7 场景 今天遇到这么一个需求: 10转增7.5股派1.5元(含税) 10派1.5元(含税) 不分配不转增 10转增3股 10派1.34元(含税) 10送2转增8股派0.3元 10送2.5转增1.5股 10送2股 会有类似上面的字符串,需要根据“送”,“增”和“派”来把后面的数字给切出来:再进行拼接. 比如: 字符串为“10送2转增8股派0.3元”,根据“送”来切,

  • PHP使用strstr()函数获取指定字符串后所有字符的方法

    本文实例讲述了PHP使用strstr()函数获取指定字符串后所有字符的方法.分享给大家供大家参考,具体如下: PHP的strstr()函数可搜索字符串在另一字符串中的第一次出现位置,并返回字符串的剩余部分. strstr()函数定义如下: strstr(string,search,before_search) 参数说明: string 必需.规定被搜索的字符串. search  必需.规定所搜索的字符串. 如果此参数是数字,则搜索匹配此数字对应的 ASCII 值的字符. before_searc

  • java正则表达式获取指定HTML标签的指定属性值且替换的方法

    实例如下: public static String repDomain(String source, String domain, String element, String attr) { String img = ""; Pattern p_image; Matcher m_image; String regEx_img = "<" + element + "[^<>]*?\\s" + attr + "=['\

  • selenium与xpath之获取指定位置的元素的实现

    今天有点新的与大家分享,关于selenium与xpath之间爬数据获取指定位置的时候,方式不一样哦. 详情可以看我的代码,以b站来看好吧: 查看这href元素,如果是xpath,肯定这么写是没有问题的: i.find_element_by_xpath('./a/@href') 但你再selenium里面这样写会报错,所以要改成这样 i.find_element_by_xpath('./a').get_attribute('href') 这样方可正确 这是一个小案例,关于爬取b站音乐视频,但我的技

  • R语言 如何获取指定位置的数据

    R语言-获取指定位置的数据 R中采用数据对象+[ , ]的方式获取对应位置的数据,根据填入索引参数的不同类型可具体分为: 正整数.负整数.零.空格.逻辑值.名称 > matrix [,1] [,2] [,3] [,4] [,5] [1,] 1 5 9 13 17 [2,] 2 6 10 14 18 [3,] 3 7 11 15 19 [4,] 4 8 12 16 20 1.正整数索引 因为R中的起始位置为1,与一般的编程语言不同,所以这类索引最为常见. 需要注意的是,如果索引中存在重复值,R会继

  • java正则表达式获取大括号小括号内容并判断数字和小数亲测可用

     获取大括号小括号内容 项目开发用到了,暂做个简单记录 private static String regex = "\\{([^}]*)\\}";//匹配大括号 private static String regexx = "\\(([^}]*)\\)";//匹配小括号 public static void main(String[] args) { String dakuohao = "{a+b}={c+d}>{d}"; Pattern

  • ThinkPHP中获取指定日期后工作日的具体日期方法

    思路: 1.获取到查询年份内所有工作日数据数组 2.获取到查询开始日期在工作日的索引 3.计算需查询日期索引 4.获得查询日期 /*创建日期类型记录表格*/ CREATE TABLE `tb_workday` ( `did` int(11) NOT NULL AUTO_INCREMENT, `exact_date` varchar(32) NOT NULL COMMENT '具体日期:格式date("Ymd");(20170205)', `date_year` varchar(32)

  • Java实现获取前、后N天日期的函数分享

    代码很简单,功能也很实用,这里就不多废话了. public Date getdate(int i) // //获取前后日期 i为正数 向后推迟i天,负数时向前提前i天 { Date dat = null; Calendar cd = Calendar.getInstance(); cd.add(Calendar.DATE, i); dat = cd.getTime(); SimpleDateFormat dformat = new SimpleDateFormat("yyyy-MM-dd HH:

  • Java如何获取指定目录文件列表

    最近项目中会动态生成文件html及相关资源文件(css,js,png,mp3),为了防止文件名重复,需要获取目录中相同类型文件的最大编号,下面我用代码来实现获得文件列表. public static void getFiles(String path) { File file = new File(path); // 如果这个路径是文件夹 if (file.isDirectory()) { // 获取路径下的所有文件 File[] files = file.listFiles(); for (i

  • Java实现获取指定个数的不同随机数

    两个简单的例子,代码实现如下: 1.随机拆分一个整数 public static List<Integer> randomList(int n){ Random rand = new Random(); List<Integer> list = new ArrayList<>(); int i = 0; while (i < n) { int num = rand.nextInt(n); if (!list.contains(num)) { list.add(nu

随机推荐