Gointerface接口声明实现及作用详解
271
2022-08-31
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 int charInt = (int)dividBoard.charAt(i); if(charInt == 46){ result += (char)charInt; continue; oJLrsuTdql } if(47 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
int charInt = (int)dividBoard.charAt(i);
if(charInt == 46){
result += (char)charInt;
continue;
oJLrsuTdql }
if(47 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
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
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~