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