Identifier si une chaîne est un nombre

Si j'ai ces chaînes:

  1. "abc" = false

  2. "123" = true

  3. "ab2" = false

Est-il une commande, comme IsNumeric() ou quelque chose d'autre, qui peut déterminer si une chaîne est un nombre valide?

  • à partir de ces exemples, vous pouvez voir qu'il voulait dire que si l'ensemble de la chaîne représente un nombre.
  • retour str.Tous(Char.Appel isdigit);
  • str.Tous(Char.Appel isdigit) déclare "3.14" faux ainsi que "-2" et "3E14". Pour ne pas parler de: "0x10"
  • Cela dépend de quel type de numéro que vous essayez de vérifier. Pour des nombres entiers sans séparateur (c'est à dire les chaînes de chiffres après la virgule) cette case œuvres, et c'est la même de la accepté de répondre et de la un implicite dans l'OP.
  • Je ne comprends pas votre point de vue. #3 lettres (et un seul nombre), donc ça devrait être faux. Si l'utilisateur entre "ab2", alors l'hypothèse est qu'ils ne comprennent pas et donc nous ne pouvons pas supposer que nous comprenons ce qu'ils entendent.
  • Oh mon dieu... je suis allé brièvement à travers les réponses et je me demandais si je devrais poster une réponse de plus avec TryParse. Qu'en pensez-vous? 😀 Ok, oubliez ça.
  • merci pour votre commentaire, vous n'avez AUCUNE idée de combien de temps j'ai essayé d'analyser une chaîne double comme un int et je me demandais pourquoi il n'était pas...
  • aaand ma recherche pour "un", "deux", etc j'en passe...

InformationsquelleAutor Gold | 2009-05-21