Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/02/2007, 13h55   #1
Membre habitué
 
Avatar de sab_etudianteBTS
 
Inscription : juin 2006
Messages : 211
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 211
Points : 134
Points : 134
Par défaut Tester si un nombre est un entier ou un décimal

Bonjour à tous,
Voila j'aimerais savoir s'il était possible de tester si un nombre est entier ou décimal. J'ai cherché un peu partout sur le net mais je n'ai pas trouvé de fonction "directe".
Ou alors tout simplement traiter le nombre (qui est une chaine de caracteres) et tester si il contient une virgule...
Merci pour votre aide!
sab_etudianteBTS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 14h44   #2
Membre habitué
 
Inscription : octobre 2005
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 745
Points : 127
Points : 127
Citation:
Envoyé par sab_etudianteBTS
Ou alors tout simplement traiter le nombre (qui est une chaine de caracteres) et tester si il contient une virgule...
Merci pour votre aide!
possible avec la fonction instr(chaine, "caractere a trouver") apparemment si =0, alors pas de virgule.

Code :
1
2
str = "23"
response.write instr(str, ",")
renvoie 0
Code :
1
2
str = "1,223"
response.write instr(str, ",")
renvoie 2
Alex35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 15h15   #3
Membre habitué
 
Avatar de sab_etudianteBTS
 
Inscription : juin 2006
Messages : 211
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 211
Points : 134
Points : 134
Ok, nickel c ca!!
Merci bcp Alex35!!
sab_etudianteBTS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 15h33   #4
Membre habitué
 
Inscription : octobre 2005
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 745
Points : 127
Points : 127
pas de p
Alex35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 22h54   #5
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

Il faut tout de même faire attention au fait qu'en anglais les virgules sont des points.
De plus, est-ce que "1,00" est un nombre décimal? Oui et non.
Pour en être certain, je verifierais que le nombre en question soustrait de sa partie entière est différent de 0. Sachant qu'un décimal peut être aussi négatif !

Allez on se creuse les méninges.

Bon allez, voici une petite idée
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function IsDecimal(byval str)
	str = replace(str, ",",".")
	if isnumeric(str) then
		str = abs(str)
		FOR i = 1 to len(str)
			if not isnumeric(mid(str, i, 1)) then EXIT FOR
		NEXT
		response.Write("La partie entière de " & str & " est : " & mid(str, 1, i - 1) & "<br>")
		response.Write("Le resultat de " & str & " - " & mid(str, 1, i - 1) & " = " & str - mid(str, 1, i - 1) & "<br>")
		IsDecimal = eval(abs(str - mid(str, 1, i - 1)) > 0)
	else
		IsDecimal = false
	end if
End function
 
str = "-4000000,98765345"
if IsDecimal(str) then response.Write(str & " est bien un nombre décimal!!") else response.Write("Oups, on dirait que " & str & " n'est pas un nombre décimal.<br>")
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 16h52   #6
Membre habitué
 
Inscription : octobre 2005
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 745
Points : 127
Points : 127
effectivement, mais je ne fais que repondre a la question posée...
Apres on peut evidemment apporter des modifications, que dis je des meliorations!!
++
Alex35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h25.


 
 
 
 
Partenaires

Hébergement Web