Moltiplicare double e Timespan!

lunedì 01 dicembre 2008 - 12.12

England Profilo | Newbie

Buongiorno a tutti.
Scusatemi se faccio sempre domande e non do mai risposte, ma...sto imparando!
Sto cercando di realizzare una applicazione windows che calcoli gli interessi su un capitale. Visto che ho bisogno di considerare anche il tempo trascorso fra 2 date, volevo fare un timespan, ma visual studio non me lo accetta...se, invece, dichiaro una banale differenza aritmetica fra 2 date, non mi segnala errori. Ecco la prima domanda: perche'?
Pero', nel momento che utilizzo la variabile ottenuta, mi dice che l'operatore "*" non puo' essere usato con double e timespan, ma io devo moltiplicare una somma di denaro per un periodo di tempo. Ecco, quindi, la seconda domanda: come devo fare?
Spero di essere stato sufficientemente chiaro.

Grazie in anticipo.
------------------------------------------------------------------------------------------------------
string s;
double capitale = 0;// somma su cui calcolare gli interessi
double tasso = 0;// tasso d'interesse applicato
double interessi = 0;// interessi maturati
double montante = 0;// capitale + interessi
DateTime DataInizioPeriodo;
DateTime DataFinePeriodo;
TimeSpan tempo;// tempo trascorso fra inizio periodo e fine periodo


s = this.txtCapitale.Text;
capitale = Convert.ToDouble(s);


s = this.txtTasso.Text;
tasso = Convert.ToDouble(s);

DataInizioPeriodo = CalendarioInizioPeriodo.SelectionStart;
txtInizioPeriodo.Text = DataInizioPeriodo.Date.ToString();

DataFinePeriodo = CalendarioFinePeriodo.SelectionStart;
TxtFinePeriodo.Text = DataFinePeriodo.Date.ToString();

tempo = DataInizioPeriodo - DataFinePeriodo;


interessi = capitale * (tasso / 100)*tempo;
// montante = capitale + interessi;

aiedail92 Profilo | Expert

Ciao

Riguardo al tuo primo problema, non ho ben capito cos'è che vuoi fare ma non ti riesce.

Per il secondo invece devi scegliere l'unità di misura per cui moltiplicare (immagino sia il numero di giorni interi):

interessi = capitale * (tasso / 100) * (int)tempo.TotalDays;

Inoltre usando

tempo = DataInizioPeriodo - DataFinePeriodo;

otterrai un valore negativo, se ti serve positivo devi invertirli.

Luca

Nesh108 Profilo | Newbie

Un bel

tempuz=Convert.ToInt32(valore_trovato_col_time_span):
Risolve tutto :D
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5