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

 更新时间:2022年01月26日 14:54:46   作者:山鬼谣me  
这篇文章主要介绍了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

在这里插入图片描述

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

相关文章

  • 深入学习Spring Cloud-Ribbon

    深入学习Spring Cloud-Ribbon

    这篇文章主要介绍了Spring Cloud-Ribbon的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友一起看看吧
    2021-03-03
  • 剑指Offer之Java算法习题精讲二叉搜索树与数组查找

    剑指Offer之Java算法习题精讲二叉搜索树与数组查找

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • java数据结构与算法之冒泡排序详解

    java数据结构与算法之冒泡排序详解

    这篇文章主要介绍了java数据结构与算法之冒泡排序,结合实例形式详细分析了java冒泡排序的原理、实现技巧与相关注意事项,需要的朋友可以参考下
    2017-05-05
  • Spring实战之容器后处理器操作示例

    Spring实战之容器后处理器操作示例

    这篇文章主要介绍了Spring实战之容器后处理器操作,结合实例形式分析了spring容器后处理器配置、使用操作技巧与相关注意事项,需要的朋友可以参考下
    2019-12-12
  • 聊聊Redis的单线程模型

    聊聊Redis的单线程模型

    Redis是单线程,主要是指Redis的网络IO和读写是由一个线程来完成的,但Redis的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。这不是本文讨论的重点,有个印象即可
    2022-12-12
  • Java实战之吃货联盟订餐系统

    Java实战之吃货联盟订餐系统

    这篇文章主要介绍了Java实战之吃货联盟订餐系统,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Java基础知识精通数组的内存分析

    Java基础知识精通数组的内存分析

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素
    2022-04-04
  • JSON在Java中的相互转换示例详解

    JSON在Java中的相互转换示例详解

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。这篇文章主要介绍了JSON在Java中的相互转换,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • IDEA Maven依赖下载总是失败的几种解决方法

    IDEA Maven依赖下载总是失败的几种解决方法

    我们本地使用 IDEA 运行 maven 项目的时候,有时候运气不好,就会遇到某些 maven 依赖无法正常找到、导入,这就会导致 IDEA 构建项目的时候爆出一堆醒目的红色 Error,今天给大家分享IDEA Maven依赖下载总是失败的几种解决方法,感兴趣的朋友一起看看吧
    2023-09-09
  • springboot的yml配置文件通过db2的方式整合mysql的教程

    springboot的yml配置文件通过db2的方式整合mysql的教程

    这篇文章主要介绍了springboot的yml配置文件通过db2的方式整合mysql的教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09

最新评论