Je cherche à tester simplement la numéricité d'une chaine de caractère en
C#. Je pensais qu'il existait une classe équivalente à Convert qui propose
de tester la validité de différents types (numérique, date...), mais je ne
trouve rien.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Lionel LASKE
Il y a tout ce que tu cherches dans System.Convert: ToDateTime, ToInt32, ... (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemconvertclasstodatetimetopic10.asp) L'idée est d'essayer de faire la conversion est de récupérer l'exception InvalidCastException pour s'assurer que la conversion s'est bien passée.
Lionel.
"Benoit" a écrit dans le message de news: %
Bonjour,
Je cherche à tester simplement la numéricité d'une chaine de caractère en C#. Je pensais qu'il existait une classe équivalente à Convert qui propose de tester la validité de différents types (numérique, date...), mais je ne trouve rien.
Merci d'avance.
Il y a tout ce que tu cherches dans System.Convert: ToDateTime, ToInt32, ...
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemconvertclasstodatetimetopic10.asp)
L'idée est d'essayer de faire la conversion est de récupérer l'exception
InvalidCastException pour s'assurer que la conversion s'est bien passée.
Lionel.
"Benoit" <techedPASDESPAM@laposte.net> a écrit dans le message de news:
%23oFh1XrLFHA.3356@TK2MSFTNGP12.phx.gbl...
Bonjour,
Je cherche à tester simplement la numéricité d'une chaine de caractère en
C#. Je pensais qu'il existait une classe équivalente à Convert qui propose
de tester la validité de différents types (numérique, date...), mais je ne
trouve rien.
Il y a tout ce que tu cherches dans System.Convert: ToDateTime, ToInt32, ... (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemconvertclasstodatetimetopic10.asp) L'idée est d'essayer de faire la conversion est de récupérer l'exception InvalidCastException pour s'assurer que la conversion s'est bien passée.
Lionel.
"Benoit" a écrit dans le message de news: %
Bonjour,
Je cherche à tester simplement la numéricité d'une chaine de caractère en C#. Je pensais qu'il existait une classe équivalente à Convert qui propose de tester la validité de différents types (numérique, date...), mais je ne trouve rien.
Merci d'avance.
Benoit
Oui effectivement, mais je ne désire pas tester la validité d'une chaine en effectuant une conversion et gérer l'exception correspondante... Je suis plutôt à la recherche d'une fonction équivalente à ce qui existait sous vb6 : isNumeric(...) qui retournait un booléen.
En général, lorsque je fais un traitement de récupération de données, je contrôle en premier la pertinence et selon le résultat, j'adapte le traitement. Si je dois passer par des exceptions, cela complique sérieusement le code.
Benoît.
"Lionel LASKE" a écrit dans le message de news: %
Il y a tout ce que tu cherches dans System.Convert: ToDateTime, ToInt32, ... (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemconvertclasstodatetimetopic10.asp) L'idée est d'essayer de faire la conversion est de récupérer l'exception InvalidCastException pour s'assurer que la conversion s'est bien passée.
Lionel.
"Benoit" a écrit dans le message de news: %
Bonjour,
Je cherche à tester simplement la numéricité d'une chaine de caractère en C#. Je pensais qu'il existait une classe équivalente à Convert qui propose de tester la validité de différents types (numérique, date...), mais je ne trouve rien.
Merci d'avance.
Oui effectivement, mais je ne désire pas tester la validité d'une chaine en
effectuant une conversion et gérer l'exception correspondante...
Je suis plutôt à la recherche d'une fonction équivalente à ce qui existait
sous vb6 : isNumeric(...) qui retournait un booléen.
En général, lorsque je fais un traitement de récupération de données, je
contrôle en premier la pertinence et selon le résultat, j'adapte le
traitement. Si je dois passer par des exceptions, cela complique
sérieusement le code.
Benoît.
"Lionel LASKE" <llaske@c2s.fr> a écrit dans le message de news:
%23jtsThrLFHA.508@TK2MSFTNGP12.phx.gbl...
Il y a tout ce que tu cherches dans System.Convert: ToDateTime, ToInt32,
...
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemconvertclasstodatetimetopic10.asp)
L'idée est d'essayer de faire la conversion est de récupérer l'exception
InvalidCastException pour s'assurer que la conversion s'est bien passée.
Lionel.
"Benoit" <techedPASDESPAM@laposte.net> a écrit dans le message de news:
%23oFh1XrLFHA.3356@TK2MSFTNGP12.phx.gbl...
Bonjour,
Je cherche à tester simplement la numéricité d'une chaine de caractère en
C#. Je pensais qu'il existait une classe équivalente à Convert qui
propose de tester la validité de différents types (numérique, date...),
mais je ne trouve rien.
Oui effectivement, mais je ne désire pas tester la validité d'une chaine en effectuant une conversion et gérer l'exception correspondante... Je suis plutôt à la recherche d'une fonction équivalente à ce qui existait sous vb6 : isNumeric(...) qui retournait un booléen.
En général, lorsque je fais un traitement de récupération de données, je contrôle en premier la pertinence et selon le résultat, j'adapte le traitement. Si je dois passer par des exceptions, cela complique sérieusement le code.
Benoît.
"Lionel LASKE" a écrit dans le message de news: %
Il y a tout ce que tu cherches dans System.Convert: ToDateTime, ToInt32, ... (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemconvertclasstodatetimetopic10.asp) L'idée est d'essayer de faire la conversion est de récupérer l'exception InvalidCastException pour s'assurer que la conversion s'est bien passée.
Lionel.
"Benoit" a écrit dans le message de news: %
Bonjour,
Je cherche à tester simplement la numéricité d'une chaine de caractère en C#. Je pensais qu'il existait une classe équivalente à Convert qui propose de tester la validité de différents types (numérique, date...), mais je ne trouve rien.
Merci d'avance.
Zoury
Bonjour!
Je suis plutôt à la recherche d'une fonction équivalente à ce qui existait sous vb6 : isNumeric(...) qui retournait un booléen.
IsNumeric() n'était pas la solution idéale : http://groups.google.com/groups?threadm=uvk9PbzHFHA.580%40TK2MSFTNGP15.phx.gbl
La fonction IsDigitOnly() montrée dans le liens ci-haut peut-être transcrite en CSharp en employant les expressions régulières : //*** using System; using System.Text.RegularExpressions;
En général, lorsque je fais un traitement de récupération de données, je contrôle en premier la pertinence et selon le résultat, j'adapte le traitement. Si je dois passer par des exceptions, cela complique sérieusement le code.
C'est souvent en voulant éviter de déclencher des exceptions que l'on complique le code... Un truc efficace dans un cas semblable, est d'isolé dans une fonction la validation qui déclenche une exception. : ex de fonction effectuant une validation via une exception : //*** bool IsNumeric(string text) { try { Int32 i = Int32.Parse(text); } catch (Exception ex) { return false; } return true; } //***
Ainsi le code appelant le test reste très lisible : //*** if (IsNumeric(textbox1.Text)) // placer code ici //***
-- Cordialement Yanick MVP pour Visual Basic
Bonjour!
Je suis plutôt à la recherche d'une fonction équivalente à ce qui existait
sous vb6 : isNumeric(...) qui retournait un booléen.
IsNumeric() n'était pas la solution idéale :
http://groups.google.com/groups?threadm=uvk9PbzHFHA.580%40TK2MSFTNGP15.phx.gbl
La fonction IsDigitOnly() montrée dans le liens ci-haut peut-être transcrite
en CSharp en employant les expressions régulières :
//***
using System;
using System.Text.RegularExpressions;
En général, lorsque je fais un traitement de récupération de données, je
contrôle en premier la pertinence et selon le résultat, j'adapte le
traitement. Si je dois passer par des exceptions, cela complique
sérieusement le code.
C'est souvent en voulant éviter de déclencher des exceptions que l'on
complique le code... Un truc efficace dans un cas semblable, est d'isolé
dans une fonction la validation qui déclenche une exception. :
ex de fonction effectuant une validation via une exception :
//***
bool IsNumeric(string text)
{
try
{
Int32 i = Int32.Parse(text);
}
catch (Exception ex)
{
return false;
}
return true;
}
//***
Ainsi le code appelant le test reste très lisible :
//***
if (IsNumeric(textbox1.Text))
// placer code ici
//***
Je suis plutôt à la recherche d'une fonction équivalente à ce qui existait sous vb6 : isNumeric(...) qui retournait un booléen.
IsNumeric() n'était pas la solution idéale : http://groups.google.com/groups?threadm=uvk9PbzHFHA.580%40TK2MSFTNGP15.phx.gbl
La fonction IsDigitOnly() montrée dans le liens ci-haut peut-être transcrite en CSharp en employant les expressions régulières : //*** using System; using System.Text.RegularExpressions;
En général, lorsque je fais un traitement de récupération de données, je contrôle en premier la pertinence et selon le résultat, j'adapte le traitement. Si je dois passer par des exceptions, cela complique sérieusement le code.
C'est souvent en voulant éviter de déclencher des exceptions que l'on complique le code... Un truc efficace dans un cas semblable, est d'isolé dans une fonction la validation qui déclenche une exception. : ex de fonction effectuant une validation via une exception : //*** bool IsNumeric(string text) { try { Int32 i = Int32.Parse(text); } catch (Exception ex) { return false; } return true; } //***
Ainsi le code appelant le test reste très lisible : //*** if (IsNumeric(textbox1.Text)) // placer code ici //***