ASP中formatnumber数字格式化

FormatNumber   函数  
请参阅  
FormatCurrency   函数   |   FormatDateTime   函数   |   FormatPercent   函数  
要求  
版本2  
返回表达式,此表达式已被格式化为数值。  
   
FormatNumber(  
        expression   [,NumDigitsAfterDecimal   [,IncludeLeadingDigit   [,UseParensForNegativeNumbers   [,GroupDigits]]]]  
)  
Arguments  
Expression    
必选项。要被格式化的表达式。    
NumDigitsAfterDecimal    
可选项。指示小数点右侧显示位数的数值。默认值为   -1,指示使用的是计算机的区域设置。    
IncludeLeadingDigit    
可选项。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅“设置”部分。    
UseParensForNegativeNumbers    
可选项。三态常数,指示是否将负值置于括号中。有关数值,请参阅“设置”部分。    
GroupDigits    
可选项。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。有关数值,请参阅“设置”部分。    
设置  
IncludeLeadingDigit、UseParensForNegativeNumbers   和   GroupDigits   参数可以有以下值:  
   
常数   值   描述    
TristateTrue   -1   True    
TristateFalse   0   False    
TristateUseDefault   -2   使用计算机区域设置中的设置。    
   
说明  
当省略一个或多个可选项参数时,由计算机区域设置提供被省略参数的值。  
   
注意       所有设置信息均取自区域设置的“数字”附签。  
下面例子利用   FormatNumber   函数把数值格式化为带四位小数点的数:    
   
Function   FormatNumberDemo    
        Dim   MyAngle,   MySecant,   MyNumber  
        MyAngle   =   1.3                                 '   用弧度定义角。  
        MySecant   =   1   /   Cos(MyAngle)     '   计算正割值。  
        FormatNumberDemo   =   FormatNumber(MySecant,4)   '   把   MySecant   格式化为带四位小数点的数。  
VBScript有两个用于格式化数字的负数。用函数Formatnumber(),你可以指定小数点后的显示位数,是否显示前导的零,显示负数时是否使用空格,和是否使用分隔符等。下面是一些例子及其返回值:
<%=Formatnumber(6665.8999)%>
6,665.90
<%=Formatnumber(“6665.8999”)%>
6,665.90
<%=Formatnumber(6665.8999,3)%>
6,665.900
<%=Formatnumber(-6665.8999,3,-1,-1,0)%>
(6665.900)
注意第二个例子用了一个字符串,二不是数字。当一个字符串可以被解释为一个数字时,你可以用该字符串作为函数Formatnumber()的参数。如果该字符串不能被解释为数字,则会返回错误。
最后一个例子用到了函数Formatnumber()的所有参数:
第一个参数(-6665.8999)指定了要进行格式化的数字。
第二个参数(3)指定了小数点后显示的位数。
第三个参数(-1)指定了是否显示前导的零。
第四个参数(-1)指定是否对负数使用括号。
最后一个参数(0)指定是否显示分隔符。
注意
许多VBScript函数使用三态常量。函数Formatnumber()的第三,第四,第五个参数可以接受三态常量或它们的值。下面列出了三态常量:
TristateTrue -1 True
TristateFalse 0 False
TristateUseDefault -2 使用区域设置
你也可以指定这些格式的某个特定属性依赖于Windows控制面板中的区域设置。

如果你需要格式化百分数,应使用函数Formatpercent():
<%=Formatpercent(12)%>
1,200.00%
<%=Formatpercent(“12”)%>
1,200.00%
这个函数把它的第一个参数乘以100,并在结果后面追加一个百分号。函数Formatpercent()也可以接受许多附加参数,以改变输出格式。
FormatPercent   函数  
请参阅  
FormatCurrency   函数   |   FormatDateTime   函数   |   FormatNumber   函数  
要求  
版本2  
返回表达式,此表达式已被格式化为尾随有   %   符号的百分比(乘以   100   )。  
   
FormatPercent(expression[,NumDigitsAfterDecimal   [,IncludeLeadingDigit   [,UseParensForNegativeNumbers   [,GroupDigits]]]])  
FormatPercent   函数的语法有以下参数:  
   
参数  
Expression    
必选项。要被格式化的表达式。    
NumDigitsAfterDecimal    
可选项。指示小数点右侧显示位数的数值。默认值为   -1,指示使用的是计算机的区域设置。    
IncludeLeadingDigit    
可选项。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅“设置”部分。    
UseParensForNegativeNumbers    
可选项。三态常数,指示是否将负值置于括号中。有关数值,请参阅“设置”部分。    
GroupDigits    
可选项。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。有关数值,请参阅“设置”部分。    
设置  
IncludeLeadingDigit、UseParensForNegativeNumbers   和   GroupDigits   参数可以有以下值:  
   
常数   值   描述    
TristateTrue   -1   True    
TristateFalse   0   False    
TristateUseDefault   -2   使用计算机区域设置中的设置。    
   
说明  
当省略一个或多个可选项参数时,由计算机区域设置提供被省略参数的值。  
   
注意       所有设置信息均取自区域设置的“数字”附签。  
下面例子利用   FormatPercent   函数把表达式格式化为百分数:    
   
Dim   MyPercent  
MyPercent   =   FormatPercent(2/32)   'MyPercent   包含   6.25%。  
//  
函数******************************  
FormatDateTime(Date[,   NamedFormat])  
   
//  
NamedFormat的取值:******************************  
常数                         值                                   描述    
---------------------------------------------------------------------------------  
vbGeneralDate       0           显示日期和/或时间。如果有日期部分,则将该部分显示为短日期格式。如果有时间部分,则将该部分显示为长时间格式。如果都存在,则显示所有部分。      
   
vbLongDate             1             使用计算机区域设置中指定的长日期格式显示日期。    
vbShortDate           2             使用计算机区域设置中指定的短日期格式显示日期。    
vbLongTime             3             使用计算机区域设置中指定的时间格式显示时间。    
vbShortTime           4             使用   24   小时格式   (hh:mm)   显示时间。    
ASP之formatdate函数
BY - 辉仔仔
FormatDateTime   函数  
请参阅  
FormatCurrency   函数   |   FormatNumber   函数   |   FormatPercent   函数  
要求  
版本2  
返回表达式,此表达式已被格式化为日期或时间。  
   
FormatDateTime(Date[,   NamedFormat])  
参数  
Date    
必选项。要被格式化的日期表达式。    
NamedFormat    
可选项。指示所使用的日期/时间格式的数值,如果省略,则使用   vbGeneralDate。    
设置  
NamedFormat   参数可以有以下值:  
   
常数   值   描述    
vbGeneralDate   0   显示日期和/或时间。如果有日期部分,则将该部分显示为短日期格式。如果有时间部分,则将该部分显示为长时间格式。如果都存在,则显示所有部分。    
vbLongDate   1   使用计算机区域设置中指定的长日期格式显示日期。    
vbShortDate   2   使用计算机区域设置中指定的短日期格式显示日期。    
vbLongTime   3   使用计算机区域设置中指定的时间格式显示时间。    
vbShortTime   4   使用   24   小时格式   (hh:mm)   显示时间。    
   
说明  
下面例子利用   FormatDateTime   函数把表达式格式化为长日期型并且把它赋给   MyDateTime:    
   
Function   GetCurrentDate    
        'FormatDateTime   把日期型格式化为长日期型。  
        GetCurrentDate   =   FormatDateTime(Date,   1)    
End   Function   

如果有一个数字498.8573945,如何把它格式化成两位小数据呢?用过ASP的都知道,在VbScript里我们可以调用FormatNumber,即用FormatNumber(498.8573945,2)就可以输出:498.86。
  由于JavaScript里没有这个函数,那么我们该如何实现呢?下面我就给出这个函数,大家可以把:<SCRIPT LANGUAGE=javascript SRC="FormatNumber.js"></SCRIPT> 这一句加入你的HTML页即可,也可以用
<!-- #include file="FormatNumber.js" --> 加入你的ASP页;或用
<? include("FormatNumber.js") ?> 加入PHP页中;或用
<%@ #include file="FormatNumber.js" %> 加入JSP页。



这个FormatNumber子函数如下:
<SCRIPT LANGUAGE=javascript>
<!--
function FormatNumber(srcStr,nAfterDot){
  var srcStr,nAfterDot;
  var resultStr,nTen;
  srcStr = ""+srcStr+"";
  strLen = srcStr.length;
  dotPos = srcStr.indexOf(".",0);
  if (dotPos == -1){
    resultStr = srcStr+".";
    for (i=0;i<nAfterDot;i++){
      resultStr = resultStr+"0";
    }
    return resultStr;
  }
  else{
    if ((strLen - dotPos - 1) >= nAfterDot){
      nAfter = dotPos + nAfterDot + 1;
      nTen =1;
      for(j=0;j<nAfterDot;j++){
        nTen = nTen*10;
      }
      resultStr = Math.round(parseFloat(srcStr)*nTen)/nTen;
      return resultStr;
    }
    else{
      resultStr = srcStr;
      for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
        resultStr = resultStr+"0";
      }
      return resultStr;
    }
  }
}

转载于:https://www.cnblogs.com/alanlau/archive/2009/06/07/1497960.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值