网络编程
位置:首页>> 网络编程>> Asp编程>> ASP把数字用逗号每3位隔开显示代码

ASP把数字用逗号每3位隔开显示代码

 来源:asp之家 发布时间:2008-01-02 13:11:00 

标签:逗号,格式化,数字,asp

对于比较长的数字组成的字符串,我们一般会用逗号(,)隔开来格式化数字,从右往左每三个数字用一个逗号分组隔开。为什么要用逗号隔开数字呢?因为当数字比较长的时候如7位8位或者更长,我们一时间无法读出它的正确数值,如果在显示前用逗号每3位隔开这样就符合我们的阅读习惯了,更利于读数,这也算是一个好的用户体验。

看看各大搜索引擎的搜索结果条数:

google的:

ASP把数字用逗号每3位隔开显示代码

百度的:

ASP把数字用逗号每3位隔开显示代码

都对结果数字进行了格式化处理。

asp中如何实现这个功能呢?

方法一.简单的我们可以使用vbscript中的FormatNumber函数。作用:返回已被格式化为数值的表达式。

语法:FormatNumber(expression [,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

FormatNumber 函数的语法有以下参数:

参数描述
expression必选。要被格式化的表达式。
NumDigitsAfterDecimal可选。指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。
IncludeLeadingDigit可选。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅“设置”部分。
UseParensForNegativeNumbers可选。三态常数,指示是否将负值置于括号中。有关数值,请参阅“设置”部分。
GroupDigits可选。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。有关数值,请参阅“设置”部分。

使用:

a="123456789"
response.write FormatNumber(a,0,-1,0,-1)

方法二:使用自定义函数处理数字


<%
'代码作者不详
Function Comma(str)
If Not(IsNumeric(str)) Or str = 0 Then
Result = 0
ElseIf Len(Fix(str)) < 4 Then
Result = str
Else
Pos = Instr(1,str,".")
If Pos > 0 Then
Dec = Mid(str,Pos)
End if
Res = StrReverse(Fix(str))
LoopCount = 1
While LoopCount <= Len(Res)
TempResult = TempResult + Mid(Res,LoopCount,3)
LoopCount = LoopCount + 3
If LoopCount <= Len(Res) Then
TempResult = TempResult + ","
End If
Wend
Result = StrReverse(TempResult) + Dec 
End If
Comma = Result
End Function
%>
<html>
<body>
<%
aLongNumber = "12345678"
%>
原始数字: <%=aLongNumber%><br>
经逗号隔开后的数字: <%=Comma(aLongNumber)%>
</body>
</html> 

运行结果:

ASP把数字用逗号每3位隔开显示代码

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com