Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455

    [VC#] Problema addizione

    Ciao a tutti,

    sto scrivendo una piccola calcolatrice in C# con visual studio 2008 con una windows form app.

    Ho creato questo codice:

    codice:
            public string a;
            public string b;
    
    
            private void calcola()
            {
    
    
    
    
                this.a = textBox1.Text;
                this.b = textBox2.Text;
    
    
                textBox3.Paste( a +=  b);
    
    
    
            }
    il codice non da errori ma non capisco per quale motivo invece di addizionare i numeri li aggiunge uno successivamente all'altro,
    codice:
    ad esempio:
    
    scrivo 1 nel primo textbox e 2 nel secondo , e nel risultato esce fuori scritto 12

    ho provato anche a mettere l'operatore della moltiplicazione ma mi dice direttamente questo:


    codice:
    Error	1	Operator '*=' cannot be applied to operands of type 'string' and 'string'
    e dunque qui mi sorgeva il dubbio,sarà mica colpa del textbox che per essere usato come variabile necessita dello string?

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Bhe si stai usando stringhe (a e b sono stringhe), con dati di tipo numerico la cosa sarebbe stata divera.
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    L'operatore + con le stringhe funziona concatenandole, e il * su esse non è definito. Se vuoi lavorare con valori numerici devi prima convertire le stringhe in un tipo numerico, ad esempio in Double.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    mm,Cercando su google ho trovato una pagina con un codice simile al mio solo che creato per console

    codice:
            private static string concatenaStringhe(string a, string b)
            {
                return a + "," + b;
            }
    l'ho inserito subito dopo la funzione "calcola" ma non è cambiato nulla.

  5. #5
    Be', dovresti già evincere dal titolo della funzione che non è una somma di numeri, ma una concatenazione di stringhe... Come detto, le stringhe in questione vanno convertite in Double (metodo Double.Parse) per poter essere gestite come numeri.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma se la funzione si chiama

    private static string concatenaStringhe(string a, string b)

    e non calcolaSomma

    un motivo ci sarà ... no?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Magari nel forum corretto.

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2025 vBulletin Solutions, Inc. All rights reserved.