You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何截取银行账号右侧10位数字计算RIP密钥?

修改VB银行账号密钥计算代码:截取右侧10位数字计算

需求明确:计算密钥时,需截取银行账号的右侧10位数字——若账号长度≤10则使用全部数字,若超过10位则仅保留最后10位。

原代码

Public Function RIP(Cle_RIP As String) As String

If Cle_RIP = "" Then
   Cle_RIP = 0
End If

RIP = Cle_RIP * 100
RIP = RIP - 97 * Int(RIP / 97)
RIP = RIP + 85

If RIP < 97 Then
   RIP = RIP + 97
Else
   RIP = RIP
End If

RIP = RIP - 97
RIP = 97 - RIP

If RIP < 10 Then
   RIP = "0" & RIP
Else
   RIP = RIP
End If
End Function

修改后的代码

Public Function RIP(Cle_RIP As String) As String

If Cle_RIP = "" Then
   Cle_RIP = "0"
End If

' 截取右侧10位数字,长度不足则保留全部
Cle_RIP = Right(Cle_RIP, 10)

RIP = CDbl(Cle_RIP) * 100
RIP = RIP - 97 * Int(RIP / 97)
RIP = RIP + 85

If RIP < 97 Then
   RIP = RIP + 97
End If

RIP = RIP - 97
RIP = 97 - RIP

If RIP < 10 Then
   RIP = "0" & CStr(RIP)
Else
   RIP = CStr(RIP)
End If
End Function

关键修改说明

  1. 截取右侧10位:添加Cle_RIP = Right(Cle_RIP, 10),利用VB的Right函数直接获取字符串最后10个字符,若原字符串长度小于10,该函数会返回整个字符串,完全匹配需求。
  2. 类型转换优化:原代码直接用字符串乘100存在隐式转换风险,修改为CDbl(Cle_RIP) * 100显式转换为数值类型,避免潜在错误;最后转字符串时用CStr显式转换,逻辑更清晰。
  3. 冗余分支移除:原代码中Else RIP = RIP属于无意义的冗余逻辑,直接删除让代码更简洁。

内容的提问来源于stack exchange,提问作者snollygoster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 22:13:16