首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将整数格式化为5位数字的字符串

将整数格式化为5位数字的字符串
EN

Stack Overflow用户
提问于 2008-11-17 11:57:23
回答 4查看 17.5K关注 0票数 5

我需要有一个字符串,基于一个整数,它应该总是有5位数字。

示例:

代码语言:javascript
复制
myInteger = 999
formatedInteger = "00999"

在传统的ASP中,最好的方法是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-11-17 12:09:56

为此,您可以使用字符串操作函数。

本文假设使用VBScript的经典ASP (答案的原始版本)。

代码语言:javascript
复制
Const NUMBER_DIGITS = 5

Dim myInteger
Dim formatedInteger

myInteger = 999
formatedInteger = Right(String(NUMBER_DIGITS, "0") & myInteger, NUMBER_DIGITS)

这里是一个优化版本,封装在一个函数中,提供可变宽度填充:

代码语言:javascript
复制
Const NUMBER_PADDING = "000000000000" ' a few zeroes more just to make sure

Function ZeroPadInteger(i, numberOfDigits)
  ZeroPadInteger = Right(NUMBER_PADDING & i, numberOfDigits)
End Function

' Call in code:

strNumber = ZeroPadInteger(myInteger, 5)
票数 9
EN

Stack Overflow用户

发布于 2008-11-17 12:08:40

像这样的东西是我大多数时候看到的:

代码语言:javascript
复制
function PadNumber(number, width)
   dim padded : padded = cStr(number)

   while (len(padded) < width)
       padded = "0" & padded
   wend

   PadNumber = padded
end function

PadNumber(999, 5) '00999
票数 2
EN

Stack Overflow用户

发布于 2008-11-25 15:02:55

试试这一行代码(好吧,两行代码都有防错功能):

代码语言:javascript
复制
function padZeroDigits(sVariable, iLength)
    if (iLength <= len(sVariable)) then padZeroDigits = sVariable : exit function : end if
    padZeroDigits = string(iLength - len(sVariable),"0") & sVariable
end function
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/295417

复制
相关文章

相似问题

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