7
votes

Classic Asp cint

Je suis nouveau à l'ASP classique, toute mon expérience est en C # .NET et ColdFusion et PHP.

Quoi qu'il en soit, ce site que je travaille a ce code sur place P>

If (CInt("0" & myVar) > 0) Then
    myNewCar = CInt("0" & myVar)
End If


2 commentaires

Voici un peu de plaisir. Ajouter sous-ne peut pas (


Ajouter Sous-Cint (VAL) CINT = CLNG (VAL) End Sub. Désolé pour le message précédent


4 Réponses :


2
votes

myvar peut être rien, un objet, une chaîne vide ou non numérique. Pré-en attente de "0" garantit que vous obtiendrez certains entier valide de retour sur quoi.


1 commentaires

CINT (vide) renvoie 0. Une tentative de concision "0" avec un objet qui n'a pas de propriété par défaut n'entraînerait pas une erreur.



11
votes

C'est un ancien hack pour gérer les valeurs nulles. Appeler la cint sur un null entraînerait une erreur. Cependant, concaténer une chaîne avec un null entraîne la chaîne d'où "0" & ​​null retourne "0". Cela empêche la CINT d'erreurs lorsque la valeur est null.


0 commentaires

0
votes

Mon asp classique est un peu rouillé, mais je crois que c'est une sécurité de la sécurité. Par exemple, si Myvar n'avait pas été définie et qu'il a essayé de faire une cint, cela entraînerait une erreur.


1 commentaires

Avec l'option explicite, le code ne compilerait pas, sans option explicite une variable non définie est définie de manière dynamique et donnée une valeur vide. Les valeurs vides compteront à 0.



0
votes

Si vous citez une valeur nulle, vous obtiendrez une erreur. Ce n'est pas le cas pour CSTR

supposant que la vérification myvar> 0 est fondamentalement une vérification nulle. xxx

donc mynewcar serait donc "" ou la valeur et vous " ll jamais obtenir une erreur


0 commentaires