首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用零填充数字字符串,使其长度保持为3的倍数

问用零填充数字字符串,使其长度保持为3的倍数
EN

Stack Overflow用户
提问于 2019-07-04 03:14:46
回答 1查看 228关注 0票数 0

我想有一个快速的单行VBA代码来填充字符串形式的数字,总是有一个3的倍数的长度。例如:

"12“变成"012”

"1234“变成"001234”

"1234567“变成"001234567”

"12345678912345678“变成"012345678912345678”

以此类推。

数字字符串不会有任何小数点或小数点,所以不用担心这一点。

通过在左边添加0,结果字符串的长度应该是3的倍数。

在整个编码过程中,数字字符串应该保持为字符串,不应使用Val等数字函数将其转换为数字,因为原始字符串可能非常长,超过150位,使用数字函数可能会截断或舍入数字,从而产生不希望看到的结果。

我已经想出了以下可能的解决方案,通过检查字符串长度,但我觉得在一(1)个编码语句中有一种更好、更有效的方法来做到这一点。

代码语言:javascript
复制
Result = String((3 - (Len(MyString) Mod 3)) Mod 3, "0") & MyString
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-04 12:40:54

经过几次尝试和您的想法,我使用一个Mod函数得出了以下结论:

代码语言:javascript
复制
MyString = String((Len(MyString) * 2) Mod 3, "0") & MyString

一般而言,一般公式为:

代码语言:javascript
复制
MyString = String((Len(MyString) * (Multiples-1) ) Mod Multiples, "0") & MyString
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56876655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档