Asp 经典格式数字未显示最终零
Asp classic formatnumber not showing final zeros
该功能对我来说一直很有效,即使是 .00 也能显示小数点。现在它不显示最后的零。
示例:
<%= FormatNumber(1000,2) %>
Returns我1000.
<%= FormatNumber(1000.99999,2) %>
Returns我1000.99999.
有人知道问题出在哪里吗?
我将继续添加这个作为答案,因为我刚刚尝试并得到了所描述的确切症状。
在我看来,您的代码中某处有一个名为 FormatNumber
的自定义函数。如果多次定义一个函数,VBScript 将使用最近一次定义的版本。换句话说,如果您编写一个函数并将其命名为与内置函数相同的名称,您的版本将被使用,而不是内置的。
对于内置的 FormatNumber
函数,除了第一个参数之外的所有参数都是可选的,因此 FormatNumber(1000)
可以正常工作,不会导致错误。但是,如果您自己编写函数,则不能使用可选参数,因此如果函数需要两个参数而您只用一个参数调用它,就会出现语法错误。这正是您所描述的行为。
检查您的页面和所有包含文件(如果有)。我敢跟你打赌,你会发现像下面这样的东西:
Function FormatNumber(inputNumber,ignoredDecimalDigitsParam)
'... possibly a bunch of code, all boiling down to:
FormatNumber = inputNumber
End Function
该功能对我来说一直很有效,即使是 .00 也能显示小数点。现在它不显示最后的零。
示例:
<%= FormatNumber(1000,2) %>
Returns我1000.
<%= FormatNumber(1000.99999,2) %>
Returns我1000.99999.
有人知道问题出在哪里吗?
我将继续添加这个作为答案,因为我刚刚尝试并得到了所描述的确切症状。
在我看来,您的代码中某处有一个名为 FormatNumber
的自定义函数。如果多次定义一个函数,VBScript 将使用最近一次定义的版本。换句话说,如果您编写一个函数并将其命名为与内置函数相同的名称,您的版本将被使用,而不是内置的。
对于内置的 FormatNumber
函数,除了第一个参数之外的所有参数都是可选的,因此 FormatNumber(1000)
可以正常工作,不会导致错误。但是,如果您自己编写函数,则不能使用可选参数,因此如果函数需要两个参数而您只用一个参数调用它,就会出现语法错误。这正是您所描述的行为。
检查您的页面和所有包含文件(如果有)。我敢跟你打赌,你会发现像下面这样的东西:
Function FormatNumber(inputNumber,ignoredDecimalDigitsParam)
'... possibly a bunch of code, all boiling down to:
FormatNumber = inputNumber
End Function