[ASP] Conversion string en décimal ?

Conversion string en décimal ? [ASP] - ASP - Programmation

Marsh Posté le 08-06-2004 à 15:13:43    

Bonjour,
 
J'ai une erreur avec un script récupérant une valeur passée en URL :

Citation :

Microsoft VBScript runtime  error '800a000d'
Type mismatch: '[string: "15.62"]'


 
J'ai jeté un oeil à la doc et je suis tombé sur cdec() pour convertir une chaîne en décimal. Dès que je l'emploie, j'ai la même erreur mais formulée ainsi :
type mismatch : cdec
 
Quelqu'un a une idée pour résoudre ce pb ?
 
Je n'ai jamais touché à l'ASP et là, je dois débugger à mort…

Reply

Marsh Posté le 08-06-2004 à 15:13:43   

Reply

Marsh Posté le 08-06-2004 à 15:23:13    

donne déjà ton script de base ;)

Reply

Marsh Posté le 08-06-2004 à 15:29:28    

En bref (350 lignes…) :

Code :
  1. arQte(i) = 1
  2. arPTTC(i) = Request.QueryString("PTTC" )
  3. arPoids(i) = Request.QueryString("Poids" )
  4. SsTotalTTCFrF = arPTTC(i) * arQte(i)
  5. SsTotalPoids =   arPoids(i) * arQte(i)


 
les variables arXXX sont initialisée à 0.00.
 
Le problème survient avec arPTTC(i) et bien entendu arPoids(i), lors de la multiplication.


Message édité par sysmik le 08-06-2004 à 15:30:32
Reply

Marsh Posté le 08-06-2004 à 15:32:34    

il te faut CLng je crois ;)
CLng(string)

Reply

Marsh Posté le 08-06-2004 à 15:40:53    

et bien… tu m'enlève une grenade du pied ! ;)

Reply

Marsh Posté le 08-06-2004 à 15:41:46    

tant mieux :jap:

Reply

Marsh Posté le 08-06-2004 à 16:27:24    

j'ai parlé trop vite…
La fonction ne fait plus effet !
 
y'a pas d'autre moyen ?

Reply

Marsh Posté le 08-06-2004 à 16:28:12    

"ne fait plus effet"
c'est à dire?

Reply

Marsh Posté le 08-06-2004 à 16:28:41    

je retrouve la même erreur.
"type mismatch : CLng"


Message édité par sysmik le 08-06-2004 à 16:30:11
Reply

Marsh Posté le 08-06-2004 à 16:29:43    

type mismatch?

Reply

Marsh Posté le 08-06-2004 à 16:29:43   

Reply

Marsh Posté le 08-06-2004 à 16:30:20    

oui

Reply

Marsh Posté le 08-06-2004 à 16:31:54    

consulte de la doc au niveau des fonctions Cxxx (CInt, CLng, etc)
ca va peut-etre t'aider car à priori je vois pas pourquoi ca merde

Reply

Marsh Posté le 08-06-2004 à 16:34:01    

le code :
SsTotalTTCFrF = CLng(arPTTC(i)) * arQte(i)

Reply

Marsh Posté le 08-06-2004 à 16:35:38    

essaye de mettre le CLng au niveau en dessus
arPTTC(i) = CLng(Request.QueryString("PTTC" ) )

Reply

Marsh Posté le 08-06-2004 à 16:41:13    

ok.
mais le type est de arPoids et arPTTC, c'est toujours srting ! y'a pas de raisons que ça foire…
 
Vraiment la misère ASP + VB.

Reply

Marsh Posté le 08-06-2004 à 16:49:51    

En fait, soit la variable est récupérée via l'url soit elle est dans un tableau, stocké dans les params de session.
 
Je fait donc mon CLng() juste avant la multiplication :
arPTTC(i) = CLng(arPTTC(i))
[…]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed