2009-11-22 3 views
1

Un ami m'a demandé de mettre à jour son logiciel de panier. Il est écrit en ASP classique en utilisant JScript d'IE. Je n'arrive pas à formater les variables correctement.Formatage des nombres à virgule flottante dans ASP

. <% if (oOrder['product'] == "camera") 
{ %> <%= format_float(oOrder['cost'], 2, 3)/2 %> <% } %> 
            %> 

Lorsque je fais cela, je reçois un tas de charabia en ce qui concerne la sortie. Je suppose que c'est à cause d'une discordance de type de données. Je reçois -1.#IND en tant que sortie.

+0

Désolé pour la mise en forme lorsque je mets le code dans le tout est devenu invisible – Steve

+1

@steve: J'ai ajouté le code foramtting pour vous. Souciez-vous de partager quelle est la sortie? –

+1

L'opérateur d'égalité = n'est-il pas dans l'ASP classique? Et comment utilisez-vous les accolades? – recursive

Répondre

4

Que fait format_float et que retourne-t-il? Je pense qu'il renvoie une chaîne formatée, dans ce cas, vous devez diviser d'abord, comme ceci:

<%= format_float(oOrder['cost']/2, 2, 3) %> 

Mais vous avez encore besoin d'un moyen d'analyser oOrder [ « coût »] si elle est une chaîne et format_float est ne pas le faire.

+0

@Robert: Je ne connaissais pas le serveur de support ASP 1/2.0 classique -side jscript, donc vous pensez vraiment que c'est le 'format_float' qui cause le problème et pas toute la syntaxe? –

+0

Est-ce que c'est ça, jscript? Je n'ai pas la moindre idée de jscript. –

+2

ASP classique monte au-dessus de VBScript (au moins la syntaxe est), voyant '[] {} ==' sur un script ASP côté serveur me confond vraiment. –

3

Voici comment le code doit être structuré: -

<% 
    if (oOrder.product == "camera") 
    { 
     Response.Write(format_float(order.cost/2, 2, 3)); 
    } 
%> 

Essayez d'éviter la fermeture et les balises de script par défaut d'ouverture %> <% lorsque vous avez inbetween aucun balisage HTML réel.

+0

@AnonJr: Robert a déjà fourni la réponse. Je n'ai pas l'air de le répéter. – AnthonyWJones

+0

Désolé, trop de sang dans mon système de caféine ... Je n'ai pas remarqué que vous avez utilisé le code de la réponse de Robert. – AnonJr

Questions connexes