+ Rispondi al Thread
Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 14 su 14

Discussione: C# asp.net

  1. #11
    L'avatar di elisab
    elisab non è in linea Very Important Person
    Post
    1,750
    Ciao
    daniatti per la prossima volta per favore inserisci per un solo argomento per ogni discussione. Il forum è anche un database di problemi e si spera di relative soluzioni, quindi la regola un argomento per ogni discussione facilita le successive consultazioni.

    Per inserire il codice usate il pulsante # presente nell'editor (verranno inseriti i tag [CODE][/CODE] all'interno dei quali potrete incollare il codice).

    Per il problema del prodotto fai una cosa del genere
    codice:
                double salario;
                double grOccup;
                if (double.TryParse(textBox1.Text, out salario) && double.TryParse(textBox2.Text, out grOccup))
                {
                    textBox3.Text = Convert.ToString(salario * grOccup);
                }
                else
                {
                    textBox3.Text = string.Empty;
                }
    Ovviamente puoi usare variabili int invece di double, andando a fare il Int32.TryParse

    Convert.ToInt32(string) restituisce come valore il risultato della chiamata del metodo Int32.Parse su value che sarebbe la stringa. Se non riesce a parsare perchè la textbox è vuota è restituita l'eccezione, per questo motivo bisogna usare il TryParse che restituisce False se non è riuscito a parsare niente. Il valore parsato è nell'argomento in uscita (out) salario o grOccup

    In alternativa per continuare ad usare il convert o direttamente il Parse è necessario inserire un blocco try... catch con qualcosa del genere
    codice:
                try
                {
                    double salario = Convert.ToDouble(textBox1.Text);
                    double grOccup = Convert.ToDouble(textBox2.Text);
                    textBox3.Text = Convert.ToString(salario * grOccup);
                }
                catch
                {
                    textBox3.Text = string.Empty;
                }
    Ciao
    Il Crossposting è vietato dalla Netiquette.

    Tutti gli utenti sono invitatati ad indicare nel titolo la versione di VB, Visual Studio o il Framework di compilazione.

    NB: In presenza del SyntaxHighlighter (codice colorato con numeri di riga a lato) prima di copiare il codice eseguire doppio click sulla finestra di codice, altrimenti mancheranno tutti i ritorno a capo.

  2. #12
    daniatti non è in linea Novello
    Post
    7

    Percentuale

    Ti ringrazioe per la risposta perché é stata molto esaustiva grazie!!

    Ok il mio prossimo problema lo posterò su un altro post, ma visto che riguardava lo stesso tema l'ho tenuto qua.

    Ultima cosa:

    Ora funziona tutto perfettamente, però c'é un minuscolo problema, il grado di occupazione é una percentuale --> e se lo stipendio lordo é 10 e il grado 100 mi dovrebbe uscire 10 come stipendio ponderato. È invece mi da il risultato di 10*100=1'000.

    Come faccio a risolvere questo problema della percentuale?

    Grazie

  3. #13
    dan1987 non è in linea Scolaretto
    Post
    138
    ciao, il fatto di usare il metodo TryParse è obsoleto e porta via più risorse perchè in realtà quel metodo lancia un eccezzione interna che il programmatore non vede.

    Con il vs 2008 è meglio usare il Convert e verificare il valore del campo con il metodo IsNullOrEmpty della classe String.
    Per il risultato in percentuale magari prova con una formattazione della stringa.

  4. #14
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Quote Originariamente inviato da dan1987 Visualizza il messaggio
    ciao, il fatto di usare il metodo TryParse è obsoleto e porta via più risorse perchè in realtà quel metodo lancia un eccezzione interna che il programmatore non vede.
    ...dove l'hai letta sta cosa.
    1)non è obsoleto a meno che non l'hai targato te come tale, ma non mi risulta che Miscrosoft l'abbia fatto.
    2)Non genera nessuna eccezione, anzi si preferisce al metodo Parse proprio perchè elimina la necessità di utilizzare un try catch per la gestione dell'eccezione.

+ Rispondi al Thread
Pagina 2 di 2 primaprima 12

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi