Italian Numeri Decimali

Ciao a tutto il forum, ho un problemino con la formattazione di numeri decimali, mi spiego, ho creato una app che esegue un calcolo da due edittext, il risultato viene mostrato in una label, ed ha quasi sempre dei decimali, a me ne basterebbero 2, invece il calcolo me ne mostra anche 10, nel designer non vi è modo di modificare la visualizzazione, qualche anima pia mi posterebbe il codice di esempio per formattare il numero risultante con max 2 decimali?
Grazie 1000
Manuel
 
Grazie MaxWare, ma, data la mia ignoranza, potresti scrivere una riga di codice del tipo:

Sub btnCalcola_Click
lblRisultato.Text = txtPeso.Text / (txtAltezza.Text*txtAltezza.Text)
Il risultato poi viene confrontato tramite un ciclo If a dei valori fissi e, mostrano in una altra label un messaggio.
Ho provato con questo codice:
lblRisultato.Text = NumberFormat(mynumber, 1, 2)
ma, non esegue più il calcolo....
Sono un somaro, lo so, ma, abituato all'Ide di VStudio, molti dei parametri da scrivere a manina si potevano impostare dalle proprietà.
Grazie 1000
Manuel
 

maxware

Well-Known Member
Licensed User
Longtime User
Ciao Manuel
Spero d'aver capito
se la variabile da arrotondare e' mynumber e la devi far vedere nella lblrisultato prova con

blRisultato.Text = Round2(mynumber, 2)

nella label ti trovi la variabile arrotondata a due decimali

Se ti serve solo la formattazione e non l'arrotondamento
blRisultato.Text = NumberFormat(mynumber, 0,2)

ciaooo
Mamo
 
Ti avevo anticipato di essere un somaro, ed in effetti, nel frattempo ho capito di aver scritto la funzione in modo totalmente errato, ora ho capito che 'mynumber, era semplicemente l'alias del mio lblRisultato.text, e.... funziona!!!!
Grazie 1000
Manuel
 

magoandroid

Member
Licensed User
Longtime User
Calcola IMC

Ciao Manuel1954,
un esempio al volo senza commenti (vista l'ora).
Un layout (Main.bal) con 3 Label, 2 EditText, 1 Button.


B4X:
Sub Process_Globals
   'These global variables will be declared once when the application starts.
   'These variables can be accessed from all modules.

End Sub

Sub Globals
   Dim lblPeso As Label
   Dim lblAltezza As Label
   Dim txtPeso As EditText
   Dim txtAltezza As EditText
   Dim lblIMC As Label

End Sub

Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("Main")

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub btnCalcolaIMC_Click
   Dim dIMC As Float
   Dim sIMC As String
   
   dIMC = txtPeso.Text / Power((txtAltezza.Text/100), 2)
   
   Select Case True
      Case (dIMC < 18.5)
         sIMC = " (Sottopeso)"
         
      Case (dIMC >= 18.5 AND dIMC <= 25.0)
         sIMC = " (Normale)"
         
      Case (dIMC > 25.0 AND dIMC <= 30.0)
         sIMC = " (Sovrappeso di 1° Grado - SOVRAPPESO)"
         
      Case (dIMC > 30.0 AND dIMC <= 40.0)
         sIMC = " (Sovrappeso di 2° Grado - OBESO)"
         
      Case (dIMC > 40.0)
         sIMC = " (Sovrappeso di 3° Grado - GRAVE OBESO)"
   
   End Select
   
   lblIMC.Text = "Il Tuo Indice di Massa Corporea è: " & NumberFormat(dIMC,0,2) & sIMC
End Sub



Un saluto cordiale.
MAgo
 

Attachments

  • IMC Calc.png
    IMC Calc.png
    13 KB · Views: 318
Top