C sharp - Division

 
Vista:
Imágen de perfil de isai

Division

Publicado por isai (1 intervención) el 22/01/2015 20:49:20
Hola,

Estoy realizando un código para poder obtener el número de catorcena y el perio de la misma.

Mi código es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace MenuPrincipal
{
    public class EListEmplTarj
    {
 
        public int idempl { get; set; }
        public string nomempl { get; set; }
        public string regptronal { get; set; }
        public DateTime fecini { get; set; }
        public DateTime fecfin { get; set; }
        public Double numsemcat { get; set; } //numero de semana o catorcena
 
    }
}

Código donde hago los calculos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
DateTime fecIniCat = new DateTime();
                    DateTime fecfinCat = new DateTime();
 
                    //leo la fecha de inicio de catorcenas del año de la configuración
                    sqlCadena = "SELECT fecinicar as fecha FROM empresas WHERE idempr = 1";
 
                    //Conexion con la base de datos
                    MySqlConnection conexionb = BdConexion.ObtenerConexion();
                    MySqlCommand miComandob = new MySqlCommand(sqlCadena, conexionb);
                    miComandob.ExecuteNonQuery();
                    //leo el resultado
                    MySqlDataReader regEmpr = miComandob.ExecuteReader();
 
                    //Asigno fecha de configuración
                    while (regEmpr.Read())
                    {
                        fecIniCat = (DateTime) regEmpr["fecha"];
                    }
 
                    //inicializo las fechas
                    fecfinCat = DateTime.Now;
 
                    //Calculo catorcena
                    Double dias = (fecfinCat - fecIniCat).TotalDays;
                    empl.numsemcat = (dias / (Double)14); // numero de catorcena
 
 
                    //asigno periodo
 
                    empl.fecini = fecIniCat.AddDays(empl.numsemcat * 14); //calcula periodo inical       
                    empl.fecfin = empl.fecini.AddDays(13);      //Calcula periodo final

Bien cuando es una fecha de la primera catorcena me calcula la fechas del 2 periodo. Revisando las variables y sus valores empl.numsemcat siempre es un entero

Ya hice la division de la siguiente manera: empl.numsemcat = 3 / 14 y empl.numsemcat = (double)3 / (double)14 siempre obteniendo como resultado 1.

Me pueden ayudar.

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder