Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FONCTION ISNUMERIC AMÉLIORÉE


Information sur la source

Catégorie :Maths Classé sous : isnumeric, numérique Niveau : Débutant Date de création : 04/01/2002 Date de mise à jour : 04/01/2002 23:04:21 Vu : 3 828

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Ce code sert à remplacer la fonction isnumeric de VB en corrigeant ses bugs.
Exemples à tester
IsNumeric("1f") renvoie vrai
IsNumreric("1+") renvoie vrai
IsNumeric("5,") renvoie Vrai


 

Source

  • Private Function IsDouble(ByRef Chaine As String) As Boolean
  • Dim i As Integer
  • Dim digit As Integer
  • Dim char As String * 1
  • Dim Point As Boolean
  • IsDouble = True
  • Point = False
  • For i = 1 To Len(Chaine)
  • char = Mid(Chaine, i, 1)
  • digit = Asc(char)
  • If (i <> 1) Or ((i = 1) And char <> "-") Then
  • If digit <> 46 And (digit < 48 Or digit > 57) Then
  • IsDouble = False
  • Exit Function
  • Else
  • If (digit = 46) Then
  • If Point = True Then
  • IsDouble = False
  • Else
  • Point = True
  • End If
  • End If
  • End If
  • Else
  • If Len(Chaine) <= 1 Then
  • IsDouble = False
  • Exit Function
  • End If
  • End If
  • Next i
  • End Function
Private Function IsDouble(ByRef Chaine As String) As Boolean
Dim i As Integer
Dim digit As Integer
Dim char As String * 1
Dim Point As Boolean
IsDouble = True
Point = False
For i = 1 To Len(Chaine)
    char = Mid(Chaine, i, 1)
    digit = Asc(char)
    If (i <> 1) Or ((i = 1) And char <> "-") Then
        If digit <> 46 And (digit < 48 Or digit > 57) Then
            IsDouble = False
            Exit Function
        Else
            If (digit = 46) Then
                If Point = True Then
                    IsDouble = False
                Else
                    Point = True
                End If
            End If
        End If
    Else
        If Len(Chaine) <= 1 Then
            IsDouble = False
            Exit Function
        End If
    End If
Next i
End Function 

Conclusion

ben rien de plus en fait

VUX
 

Commentaires et avis

signaler à un administrateur
Commentaire de VUX le 04/01/2002 23:07:36

Note: le 46 indique le caractère "." pour la virgule.
Si vous voulez utiliser le caractère ',' remplacez 46 par 44

signaler à un administrateur
Commentaire de thebigbang le 05/01/2002 09:50:19

c'est pas la fonction val ca ???

signaler à un administrateur
Commentaire de VUX le 05/01/2002 23:02:40

non val convertit une expression en sa valeur numérique.
isnumeric indique juste si l' expression est une valeur numérique ou non.

signaler à un administrateur
Commentaire de GarnetDiAlexandros le 17/09/2002 11:32:21

Bravo
Elle est très bien cette fonction
Elle marche parfaitement et elle est facileà comprendre
Bravo et merci !

signaler à un administrateur
Commentaire de GarnetDiAlexandros le 17/09/2002 11:32:46

Bravo
Elle est très bien cette fonction
Elle marche parfaitement et elle est facileà comprendre
Bravo et merci !

signaler à un administrateur
Commentaire de Charlie76 le 21/11/2003 13:51:44

Avec Ca en plus, ca marche dans tous les cas
Dim digit2 As Integer
If Format(0, ".") = "." Then digit2 = 46 Else digit2 = 44

signaler à un administrateur
Commentaire de math85 le 24/05/2004 16:30:14

trop fort
mais je pense qu'il y a une erreur dans l enoncé : 4f et 4+ renvoi faux

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Isnumeric [ par Vivolenantais ] Comment fait-on pour ne rentrer soit que du num&#233;rique dans un textbox, soit que du alphanum&#233;rique. Et lorsqu'un textbox est pr&#233;vue pour Pourquoi Isnumeric est si lent en DotNet ? [ par Silmon ] Bonjour à tous! Je constate qu'utiliser des fonctions VB en dotnet comme Isnumeric est trés lent lors du premier appel. Pourquoi? Existe-t-il une fon Format Numérique dans ComboBox (deux chiffres après la virgule) [ par Sweet_7694 ] Bonjour,Je cherche comment rentrer dans ma ComboBox un texte qui sera num&#233;rique et admettant seulement deux chiffres apr&#232;s la virgule.J'ai e ISNUMERIC () [ par tekila_bandita ] J'aimerais savoir s'il existait une commande de type "isnumeric()" pour les "lettres"... enfaite, j'ai une inputbox, mais si le gar tape une lettre au *** Recherche dans un Champs de Type Numérique (Access) *** [ par Heny ] Salut tout le monde &nbsp; AdoClients.Recordset.Filter = "T&#233;l&#233;phone LIKE " &amp; Len(Text1(5).Text) &amp; "'" J&#146;utilise ce code pour r Convertir un champ numérique en champ texte [ par patrick55 ] Bonjour, j'ai un champ composé de trois champs. NumérocPE et de type numérique formaté (000) avec 3 chiffre. Quand je reçois la formule il me don Convertir un champ numérique en texte [ par patrick55 ] Bonjour, j'ai un champ composé de trois champs. NumérocPE et de type numérique formaté (000) avec 3 chiffre. Quand je reçois la formule il me don Voudrais un Conseil [ par WARRIOSS ] Salutation.j'ai un projet a rendre pour dans 1 mois. je dois faire un programme qui cr&#233;e et sauvegarde les menu d'un restaurant. Pour cela, je do Besoin de conseil [ par WARRIOSS ] Salutation.j'ai une base de donn&#233;e sous access. dans mes tables, j'ai plusieurs champs qui sont du type Num&#233;rique mais qui ne depasseront ja Besoin de conseil [ par WARRIOSS ] Salutation. j'ai une base de donnée sous access. dans mes tables, j'ai plusieurs champs qui sont du type Numérique mais qui ne depasseront jamais 2 c


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.