字符串截取循环加一

1.记录一下字符串循环加一的解决办法。

2.需求:按照“ACH02100001”的格式进行循环添加,格式为自动加1

3.想法:将数据库里面的值进行字符串截取后五位,然后循环加一,最后和前面六位进行拼接。

4.实现

  第一步:数据库截取后五位。    

@Select("select max(right(t.custom_no,5)) from pay_custom_info as t")
	String getPayCustomByMax();

截取最大值的后五位---》00001

  第二步:后台进行逻辑处理,最后拼接。

//查询出账号后五位
		String onNum = payCustomInfoMapper.getPayCustomByMax();
		//转换类型
		int b = onNum.length();
		String ad = "";
		if(onNum.equals(0)){
			onNum="00001";
		}else{
			    //加1再循环装载值
	            int num = Integer.parseInt(onNum);
	            num++;
	            ad =String.valueOf(num);
	            int a = ad.length();
	            while(a<b){
	            	ad = "0"+ad;
	            	a++;
	            }
		}
        //前缀拼接生成商户编号
		StringBuilder left = new StringBuilder("ACH021");
		String lefts = left.append(ad).toString();

首先获取最后五位,之后获取当前值的长度,因为不同类型的关系,导致了不能直接用int和integer进行转化,最后判断进行操作,最后得到你想要的结果。

也许我写的比较繁琐,希望大神有简易方法指教噢。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在C++字符串中的数字上循环加一,可以使用C++标准库中的一些函数来实现。以下是一个示例程序: ```cpp #include <iostream> #include <string> #include <sstream> using namespace std; int main() { string str = "abc123def456"; string newStr = ""; for(int i = 0; i < str.length(); i++) { if(isdigit(str[i])) // 如果当前字符是数字 { int num = str[i] - '0'; // 将字符转换为数字 num = (num + 1) % 10; // 执行循环加一操作 char newChar = num + '0'; // 将数字转换回字符 newStr += newChar; // 将新字符添加到新字符串中 } else // 如果当前字符不是数字 { newStr += str[i]; // 直接将字符添加到新字符串中 } } cout << newStr << endl; return 0; } ``` 在此示例中,我们首先定义了一个字符串`str`,其中包含数字。然后,我们使用一个循环遍历该字符串的每个字符。如果当前字符是数字,我们将其转换为数字并执行循环加一操作。否则,我们将当前字符直接添加到新字符串`newStr`中。 在此示例中,我们使用了C++标准库中的`isdigit()`函数来检查当前字符是否是数字。我们还使用了C++标准库中的`stringstream`类来将字符转换为数字,并使用加法和取模运算来执行循环加一操作。最后,我们将数字转换回字符并将其添加到新字符串`newStr`中。 请注意,此示例仅适用于字符串中包含单个数字的情况。如果你的字符串中包含多个数字(例如,有些数字可能包含两位或更多位),则需要修改代码以处理这种情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值