Asp经典格式数字没有显示最终的零

时间:2016-07-07 17:45:53

标签: vbscript asp-classic

该功能一直以正确的方式为我工作,即使它是.00也显示小数。现在它没有显示最终的零。

示例:

<%= FormatNumber(1000,2) %>

给我1000。

<%= FormatNumber(1000.99999,2) %>

返回1000.99999。

有谁知道问题是什么?

1 个答案:

答案 0 :(得分:2)

我将继续并将其作为答案添加,因为我只是试了一下并得到了所描述的症状。

在我看来,您的代码中有一个名为FormatNumber的自定义函数。如果函数定义不止一次,VBScript将使用最本地定义的版本。换句话说,如果你编写一个函数并给它命名与内置函数相同,那么将使用你的版本,而不是内置函数。

对于内置的FormatNumber函数,除第一个参数之外的所有参数都是可选的,因此FormatNumber(1000)在没有导致错误的意义上可以正常工作。但是,如果您自己编写函数,则不能执行可选参数,因此如果函数需要两个参数并且仅使用一个参数调用它,则会出现语法错误。这正是您所描述的行为。

检查您的页面和所有包含文件(如果有)。我敢打赌你要花钱给甜甜圈,你会发现以下内容:

Function FormatNumber(inputNumber,ignoredDecimalDigitsParam)
'... possibly a bunch of code, all boiling down to:
    FormatNumber = inputNumber
End Function