Comment déterminer si ma chaine de caractères est un nombre ?Plusieurs méthodes sont à votre disposition pour tester si une chaîne de caractères représente une valeur est numérique. Nous vous montrerons deux des méthodes les plus fréquemment utilisées. IsNumeric est une fonction incluse dans VB, souvent assez connue. MsgBox IsNumeric("12345,67") Cette fonction, si elle a pour avantage d'être incluse dans Visual Basic, n'est pas pour exempte de "problèmes". En effet, sur certains systèmes, IsNumeric vous confirmera que "($1,23,,3.4,,,5,,E67$)" est bien une valeur numérique. S'il est vrai que cette chaîne représente un nombre, il est rare de permettre d'utiliser de telles notations dans une application. IsNumeric accepte aussi les représentations hexadécimales ("&h1F"), et scientifiques ("2E5" ou "2D5"). Si ces deux derniers tests sont plus pertinents, vous n'en avez pas forcément besoin. Pour limiter à l'essentiel ce que peut entrer un utilisateur, vous pouvez aussi tester la chaîne contre une expression régulière : MsgBox IsNumber("12345,67") Souvent plus appropriée, cette méthode emploie des expressions régulières qui restent des traitements lents. Ce problème peut aussi être vu comme étant un problème d'automates à état fini, méthode robuste pour de telles vérifications. Voir aussi : |
Date de publication : 05 décembre 2004 Dernière modification : 19 novembre 2006 Rubriques : Math Mots-clés : numérique, nombre, string, isnumeric, expression régulière, expressions régulières |