
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:
Código donde hago los calculos
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
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


0