Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [c#] - verificare che una stringa sia un numero

    Ho bisogno di verificare che una stringa tipo 32 sia un numero e non un oggetto string
    uina cosa tipo quello che faceva la isNumber di vb
    come posso fare?

  2. #2
    Framework 1.1

    Non esiste un metodo, devi crearne uno (scegli tra questi 2 a tuo piacimento):
    codice:
    // primo metodo
    bool IsInteger(string text) {
    	if ( text != null ) {
    		Regex r0 = new Regex("[^0-9-]");
    		Regex r1 = new Regex("^-[0-9]+$|^[0-9]+$");
    		return !r0.IsMatch(text) && r1.IsMatch(text);
    	} else {
    		return false;
    	}
    }
    
    // secondo metodo
    bool IsInteger(string text) {
    	try {
    		int i = Convert.ToInt32(text);
    		return true;
    	} catch {
    		return false;
    	}
    }
    E puoi usarlo semplicemente con:
    codice:
    string stringa = "1";
    if ( IsInteger(stringa) ) {
    ...
    }
    Framework 2.0

    Con la nuova versione del framework è stato inserito un metodo TryParse alla classe IntXX:
    codice:
    int i = 0;
    string stringa = "1";
    if ( Int32.TryParse(stringa, out i) ) {
    /* 
    * in questo modo so che "stringa" contiene un valore numerico
    * ed il metodo TryParse mi memorizza questo valore direttamente nella
    * variabile i
    */
    ...
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.