Programmare Visual C# .NET – Somma con variabili float

Scritto da christian | 29 agosto, 2010 3:45

Possiamo sommare due o più variabili Float allo stesso modo in cui vengono sommate quelle di tipo Int.

E’ anche possibile sommare più variabili di tipo Int con quelle di tipo Float, ma bisogna fare molta attenzione.

Aggiungete un nuovo bottone e settate le seguenti proprietà, nella finestra delle proprietà:

Name: btnAddFloats
Size: 100, 30
Text: Float – Add

Fate doppio clic su di esso per aprire la finestra di progettazione. Imposta le tre seguenti variabili Float nel codice del pulsante:

float firstNumber;
float secondNumber;
float floatAnswer;

La finestra di progettazione dovrebbe essere simile a questa:

(Si noti che i nomi delle variabili sono già stati utilizzati nel codice del bottone per la somma fra interi, ma C# non le confonde con quelle che stiamo attualmente utilizzando in quanto quest’ ultime sono dentro le parentesi graffe di un differente bottone.

E’ possibile anche Impostare delle variabili fuori dalle parentesi graffe, ma questo ci verrà utile quando arriveremo al progetto della calcolatrice, alla fine di questa sezione).

Per assegnare un valore alle variabili appena dichiarate aggiungete le seguenti righe di codice:

firstNumber = 10.5F;
secondNumber = 32.5F;

floatAnswer = firstNumber + secondNumber;

ed infine, aggiungete il messaggio da visualizzare nella MessageBox

MessageBox.Show( floatAnswer.ToString( ) );

qui è il form quando viene fatto clic sul pulsante Float-Add:

Quindi 10,5 + 32,5 da come risultato 43. Chiudete il Form cliccando sulla x rossa, dopo di chè ritornare alla finestra del codice del bottone.

com’è stato già detto è possibile sommare variabili Int e Float insieme, ma bisogna fare molta attenzione.

Aggiungere la seguente variabile al codice:

int integerAnswer;

cambiate la seguente riga di codice:

floatAnswer = firstNumber + secondNumber;

in:

integerAnswer = firstNumber + secondNumber;

e cambiate il codice del MessageBox:

MessageBox.Show( floatAnswer.ToString( ) );

in:

MessageBox.Show( integerAnswer.ToString( ) );

La finestra di progettazione dovrebbe essere simile a questa:

Se provate ad eseguire il programma vi accorgerete che è stato commesso un errore, che verrà evidenziato da una linea blu ondulata:

Tenete il mouse sopra la linea blu e vedrete una spiegazione dell’errore:

Che non vi è molto di aiuto, se siete dei principiante, ma C# vi sta semplicemente avvertendo che non è possibile assegnare un valore Float ad una variabile di tipo Int.

Per ovviare l’errore è necessario eseguire un Operazione sulle variabili Float, chiamata Cast.

Il cast permette di convertire i valori da Float a numeri interi; lo si fa nel seguente modo:

integerAnswer = (int) firstNumber + (int) secondNumber;

Scrivendo la parola int fra parentesi tonde, prima della variabile che si desidera convertire.

Nel nostro caso, il Cast troncherà la parte decimale dei valori assegnati alle 2 variabili float.

In questo modo 10,5 diventa 10, e 32,5 diventa 32.

Non sarà il massimo della precisione, ma almeno il programma verrà eseguito!

provate ad eseguire il programma e dovreste ottenere la risposta 42, quando cliccherete sul pulsante Float-Add.

quindi se necessitate di calcoli precisi, utilizzate sempre variabili di tipo Float o Double.

Nel caso in cui la variabile floatAnswer venisse sottolineata di verde, significa che al termine dell’esecuzione del programma non conterrà alcun valore significativo.

Come potete notare dalle linee di codice sottostanti, è possibile invece assegnare ad float il risultato di una somma fra variabili di differente tipo:

In primo luogo, notate la nuova variabile intera,  integerAnswer nel quale è memorizzato il numero 20.

int integerAnswer = 20;

(la linea di codice sopracitata permette di dichiarare una variabile alla quale verrà assegnato il valore intero 20).

il secondo luogo, notate come le 2 variabili float (firstNumber, secondNumber) vendono sommate alla variabile intera (integerAnswer). Il risultato dell’ operazione viene poi salvato nella variabile float (floatAnswer).

Provate ad eseguire il programma e noterete che non vi sono errori in compilazione.

Cambiate la riga di codice:

firstNumber = 10.5F;

in:

firstNumber = 10;

Eseguite il programma, e noterete che anche questa volte non verranno segnalati errori.

(Nel caso in cui volessimo memorizzare in una variabile int un valore double, quest’ ultima necessiterà anch’essa di una conversione in numero intero).

In poche parole: è possibile salvare un intero in un float, ma non è possibile memorizzare un valore in virgola mobile in una variabile intera senza ricorrere ad una conversione.

Nella prossima lezione, vedremo come eseguire le sottrazioni.

<-La somma in C#

La Sottrazione in C#->

<-Torna all’ Indice

2 risposte a “Programmare Visual C# .NET – Somma con variabili float”

Lascia un Commento