该功能一直以正确的方式为我工作,即使它是.00也显示小数。现在它没有显示最终的零。
示例:
<%= FormatNumber(1000,2) %>
给我1000。
<%= FormatNumber(1000.99999,2) %>
返回1000.99999。
有谁知道问题是什么?
答案 0 :(得分:2)
我将继续并将其作为答案添加,因为我只是试了一下并得到了所描述的症状。
在我看来,您的代码中有一个名为FormatNumber
的自定义函数。如果函数定义不止一次,VBScript将使用最本地定义的版本。换句话说,如果你编写一个函数并给它命名与内置函数相同,那么将使用你的版本,而不是内置函数。
对于内置的FormatNumber
函数,除第一个参数之外的所有参数都是可选的,因此FormatNumber(1000)
在没有导致错误的意义上可以正常工作。但是,如果您自己编写函数,则不能执行可选参数,因此如果函数需要两个参数并且仅使用一个参数调用它,则会出现语法错误。这正是您所描述的行为。
检查您的页面和所有包含文件(如果有)。我敢打赌你要花钱给甜甜圈,你会发现以下内容:
Function FormatNumber(inputNumber,ignoredDecimalDigitsParam)
'... possibly a bunch of code, all boiling down to:
FormatNumber = inputNumber
End Function