Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.
  • Index
  •  » Powerscripts
  •  » [RESOLU] Vérifier qu'une string contient une valeur numérique

#1 11-09-2008 14:31:15

toto  
Membre Geek
Lieu: Nice
Date d'inscription: 21-05-2007
Messages: 23
Pépites: 111
Banque: 0

[RESOLU] Vérifier qu'une string contient une valeur numérique

Bonjour,

j'ai un algo où je dois contrôler que les valeurs possibles à l'intérieur d'un champ de base de données sont bien numériques.
Le problème est que pour des réels 2.53E-07 par exemple, la fonction ne marche pas...

Je pensais utiliser IsNumber() en 1er et si le résultat est faux, j'appellerai la fonction Match pour tester uniquement les valeurs possibles des réels.
Mais, je n'arrive pas à utiliser cette fonction pour tester les réels...

Est-ce que l'un de vous aurait une idée de la formule que je dois mettre dans la fonction, sachant qu'un réel peut être codé de différentes manières : 2E4 ; 2.5E38 ; +6.02E3 ; -4.1E-2 ; -7.45E16 ; 7.7E+8 ; 3.2E-38 par exemple.

Merci d'avance pour vos pistes,
Bernard

Dernière modification par toto (11-09-2008 15:42:17)

Hors ligne

 

#2 11-09-2008 15:05:27

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Vérifier qu'une string contient une valeur numérique

bonjour en principe IsNumber fonctionne pour les réels

je pense qu'il faudrait une virgule à la place du point comme séparateur décimal


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 11-09-2008 15:09:16

toto  
Membre Geek
Lieu: Nice
Date d'inscription: 21-05-2007
Messages: 23
Pépites: 111
Banque: 0

Re: [RESOLU] Vérifier qu'une string contient une valeur numérique

A priori, ce que la fonction IsNumber n'apprécie pas c'est la lettre E.

J'essaye avec ce format dans la fonction Match() mais elle ne fonction ne pas avec un + en début de valeur.
==> Match(test, "^[\+\-]?[0-9]\.?[0-9]*E[\+\-]?[0-9]*")

Avec +6.02E3 ça ne fonctionne pas, avec 6.02E3 ça passe.

Je ne comprend pas ce qui ne va pas...

Hors ligne

 

#4 11-09-2008 15:16:21

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Vérifier qu'une string contient une valeur numérique

c'est bien le point qui ne passe pas :

Code: pb

IsNumber( '+6.02E3' ) => False
IsNumber( '6.02E3' ) => False
IsNumber( '+6,02E3' ) => True
IsNumber( '-6,02E3' ) => True

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 11-09-2008 15:41:19

toto  
Membre Geek
Lieu: Nice
Date d'inscription: 21-05-2007
Messages: 23
Pépites: 111
Banque: 0

Re: [RESOLU] Vérifier qu'une string contient une valeur numérique

He bien merci beaucoup !

Hors ligne

 
  • Index
  •  » Powerscripts
  •  » [RESOLU] Vérifier qu'une string contient une valeur numérique

Pied de page des forums

Propulsé par FluxBB 1.2.22