2016-07-07 6 views
2

Diese Funktion hat immer den richtigen Weg für mich funktioniert, zeigt die Dezimalstellen, selbst wenn es .00 ist. Jetzt zeigt es nicht die letzten Nullen.Asp classic Formatnummer zeigt keine abschließenden Nullen

Beispiel:

<%= FormatNumber(1000,2) %> 

mich Kosten 1000.

<%= FormatNumber(1000.99999,2) %> 

Gibt mir 1000,99999.

Weiß jemand, was das Problem sein kann?

+0

Was erhalten Sie, wenn Sie ** FormatNumber (1000) ** eingeben? – statosdotcom

+0

"falsche Anzahl von Argumenten oder ungültige Eigenschaftenzuweisung" – bruno

+0

Entschuldigung, die korrekte Syntax wäre ** response.write (FormatNumber (1000)) ** ODER ** <% = FormatNumber (1000)%> ** mit "= "Signal am Anfangstag. – statosdotcom

Antwort

2

Ich gehe weiter und füge das als Antwort hinzu, da ich es gerade ausprobiert habe und genau die beschriebenen Symptome habe.

Es sieht für mich aus, als ob irgendwo in Ihrem Code eine benutzerdefinierte Funktion namens FormatNumber ist. Wenn eine Funktion mehr als einmal definiert ist, verwendet VBScript die am meisten lokal definierte Version. Mit anderen Worten, wenn Sie eine Funktion schreiben und ihr den gleichen Namen geben wie eine eingebaute Funktion, wird Ihre Version verwendet, nicht die eingebaute.

Für die integrierte FormatNumber-Funktion sind alle Argumente außer dem ersten optional, so dass FormatNumber(1000) funktioniert, in dem Sinne, dass kein Fehler verursacht wird. Wenn Sie jedoch selbst eine Funktion schreiben, können Sie keine optionalen Argumente angeben. Wenn die Funktion also zwei Argumente erwartet und Sie nur mit einem Argument arbeiten, erhalten Sie einen Syntaxfehler. Dies ist genau das Verhalten, das Sie beschreiben.

Überprüfen Sie Ihre Seite und alle Include-Dateien (falls vorhanden). Ich wette, Sie Dollars zu Donuts finden Sie etwas wie das folgende:

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

Das ist genau das! Es gab eine benutzerdefinierte Funktion auf der Seite mit dem gleichen Namen und ich habe es nicht bemerkt. Danke vielmals! – bruno