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

在这里插入图片描述

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

相关文章

  • Java动态数组添加数据的方法与应用示例

    Java动态数组添加数据的方法与应用示例

    这篇文章主要介绍了Java动态数组添加数据的方法,结合实例形式详细分析了Java动态数组的创建、添加、查找、打印等相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • 详解如何获取java中类的所有对象实例

    详解如何获取java中类的所有对象实例

    如何在运行时获取一个Java类的所有对象实例呢,本文给大家介绍一种底层实现的方式,基于jvmti,代码用C++实现,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • JAVA进阶篇之详细了解File文件的常用API

    JAVA进阶篇之详细了解File文件的常用API

    这篇文章主要给大家介绍了关于JAVA进阶篇之详细了解File文件的常用API的相关资料,File用于表示文件系统中的一个文件或目录,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • 如何使用intellij IDEA搭建Spring Boot项目

    如何使用intellij IDEA搭建Spring Boot项目

    这篇文章主要介绍了如何使用intellij IDEA搭建Spring Boot项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • SpringBoot3.0自定stater模块的操作流程(chatGPT提供的49种场景)

    SpringBoot3.0自定stater模块的操作流程(chatGPT提供的49种场景)

    SpringBoot3.0发布等重磅陆消息续进入大家的视线,而本文作者将以技术整合的角度,带大家把最火的两个技术整合在一起,通过本文学习你将熟悉SpringBoot3.0自定stater模块的操作流程,并熟悉OpenAi为chatGPT提供的49种场景,感兴趣的朋友一起看看吧
    2022-12-12
  • Java中的HashMap和Hashtable区别解析

    Java中的HashMap和Hashtable区别解析

    这篇文章主要介绍了Java中的HashMap和Hashtable区别解析,HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的区别,主要的区别有线程安全性、同步和速度,需要的朋友可以参考下
    2023-11-11
  • 深入Java不可变类型的详解

    深入Java不可变类型的详解

    本篇文章是Java中的不可变类型进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • java解析xml之sax解析xml示例分享

    java解析xml之sax解析xml示例分享

    SAX基于事件的解析,解析器在一次读取XML文件中根据读取的数据产生相应的事件,由应用程序实现相应的事件处理逻辑,即它是一种“推”的解析方式;这种解析方法速度快、占用内存少,但是它需要应用程序自己处理解析器的状态,实现起来会比较麻烦
    2014-01-01
  • Spring Data JPA框架的核心概念与Repository接口详解

    Spring Data JPA框架的核心概念与Repository接口详解

    Spring Data JPA是Spring基于JPA规范的基础上封装的⼀套 JPA 应⽤框架,可使开发者⽤极简的代码即可实现对数据库的访问和操作,本篇我们来了解Spring Data JPA框架的核心概念与Repository接口
    2022-04-04
  • Java组件FileUpload上传文件实现代码

    Java组件FileUpload上传文件实现代码

    这篇文章主要为大家详细介绍了Java组件FileUpload上传文件实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06

最新评论