[VB.NET] Calcolo (per me complicato) con percentuali variabili

lunedì 19 gennaio 2009 - 15.19

peppedp Profilo | Newbie

Ciao a tutti. Devo inserire in un calcolo matematico una variabile percentuale e mi sono incasinato.
Mi spiego: ho una somma ad esempio 15.000 e devo sottrarre a questa somma una percentuale, che è variabile in funzione dell'età di una persona. Questa percentuale, che è pari a 0% fino all'11° anno di età, aumenta di 0,5 per ogni anno successivo.
E' chiaro, pertanto, che ad una persona di 36 anni devo sottrarre, dai 15.000, il 12,5% ((36anni - 11anni)*0,5%), mentre ad un bambino di 10 anni non sottraggo nulla.
Ecco, data la variabile dell'età (che è Integer) e la somma, che ho creato come variabile Decimal, come scrivo la formula?
Grazie!
Giuseppe

aiedail92 Profilo | Expert

Ciao

Puoi fare una cosa di questo tipo:

Dim età As Integer Dim somma As Double 'Ottiene la percentuale da rimuovere. Se viene un numero negativo, 'la percentuale è 0 Dim percent As Double = Math.Max((età - 11) * 0.5, 0) 'Rimuove dalla somma la percentuale da rimuovere somma -= somma * percent / 100

Luca

peppedp Profilo | Newbie

Grazie, ora provo e ti faccio sapere!

peppedp Profilo | Newbie

La formula va sicuramente bene, ma ora devo aggiustare il codice che avevo scritto precedentemente, poiché il risultato che mi dà non tiene conto della sottrazione. Probabilmente perché la Label nella quale viene scritto il totale fa riferimento ancora a qualche variabile creata precedentemente, che ora devo aggiornare...
ti faccio sapere.
Intanto grazie!
Per mostrare il risultato in una label in formato valuta euro va bene questo codice?
lblTotaleDb.Text = FormatCurrency(DecTotSomma, 2)
Ho convertito il valore in decimal, ho fatto bene? Perchè continua a non tener conto della diminuzione percentuale...
@luca: scusa luca, ma perché se provo a visualizzare in una casella di testo la variabile "percent" che hai creato, mi dà errore di compilazione, dicendomi che il Nome "percent non è dichiarato"?
@Tutti: sono un c.....ne! HO RISOLTO.
Grazie a Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5