2017-05-15 3 views
-1

Ceci est mon code, qui sur une étiquette ne me montre pas le résultat escompté:C# Je ne peux pas imprimer la valeur décimale dans l'étiquette

DateTime duracionEstandar = Convert.ToDateTime(txtDuracionEst.int 
duracionHoras = 
duracionEstandar.Hour; 
int duracionMinutos = duracionEstandar.Minute; 
double duracion = duracionMinutos/60; 
lblEstadoEspecialistas.Text = "Horas: " + duracionHoras + ", minutos: " + 
duracionMinutos + " = " + duracion.ToString("0.##"); 

Entrée: txtDuracionEstandar = 1:30

Résultat: Horas: 1, minutos: 30 = 0

+0

Lisez attentivement les règles de la ([opérateur de division] https://msdn.microsoft.com/en-us/library/aa691373 (v = vs.71) .aspx) – Steve

+1

Vous divisez deux types entiers, 'duracionMinutos/60' utilise une division entière, ce qui signifie que la 'partie décimale est supprimée'. (Astuce: il n'a * jamais * existé pour commencer.) Essayez d'utiliser '60.0' au lieu de' 60', ou changez 'int duracionMinutos' en' double duracionMinutos'. –

Répondre

0

Vous devez lancer intduracionMinutos en tant que double. Écrivez votre ligne de code en tant que tel:

double duracion = (double)duracionMinutos/60;