Foros del Web » Programación para mayores de 30 ;) » .NET »

Validacion

Estas en el tema de Validacion en el foro de .NET en Foros del Web. Hola Compañeros, tengo un problema... y no sera por no investigar, pero hace poco que programo y creo que no entiendo los ejemplos de internet.... ...
  #1 (permalink)  
Antiguo 10/11/2008, 03:26
 
Fecha de Ingreso: octubre-2008
Mensajes: 31
Antigüedad: 15 años, 6 meses
Puntos: 0
Validacion

Hola Compañeros, tengo un problema... y no sera por no investigar, pero hace poco que programo y creo que no entiendo los ejemplos de internet....

Mi problema es el siguiente:

Tengo que hacer un ejemplo en consola, muy sencillo, en el cual se introducen 2 valores enteros i se suman, 2 valores con coma decimal i se suman y una fecha en un formato determinado que la convierta a datatime i la devuelva en otro fotmato, hasta aqui ningun porblema...

El problema surge en otra parte de el ejercicio, me piden, que valide que los numero con coma decimal introducidos, valide si tiene 4 decimales, y de no ser asi muestre un error... NO SE HACERLO

He mirado por internet i no encuentro nada....

Hos envio el codigo que tengo hasta ahora haver si podeis ayudarme, hos lo agradeceria mucho... no hos pido que lo resolvais pero si podeis guiarme seria de mucha ayuda, ya que no entiendo los ejemplos de internet.

Muchas Gracias.

El codigo que tengo hasta ahora es el siguiente:

using System;
using System.Collections.Generic;
using System.Text;

namespace practica1
{
class SumaVariables
{
static void Main(string[] args)
{
int Numero1;
int Numero2;

double Numero3;
double Numero4;

string Fecha = "";





Console.WriteLine("Introduce el primer número entero a sumar");
Numero1 = Int32.Parse(Console.ReadLine());

Console.WriteLine("Introduzca el segundo numero entero a sumar");
Numero2 = Int32.Parse(Console.ReadLine());

Console.WriteLine("Introduzca el primer valor decimal con cuatro decimales a sumar");
Numero3 = Double.Parse(Console.ReadLine());
// Emmerson, para redondear los decimales de la suma a solo 2, y que me aproxime el ultimo decimal voy a utilizar
// el metodo Math con su atributo Round, que los redondea.
Numero3 = Math.Round(Numero3, 2);
Console.WriteLine("Introduzca el segundo valor decimal con cuatro decimales a sumar");

Numero4 = Double.Parse(Console.ReadLine());
Numero4 = Math.Round(Numero4, 2);


Console.WriteLine("Introduzca la fecha en formato dd/mm/aaaa hh:mm:ss");
Fecha = Console.ReadLine();
DateTime dt = Convert.ToDateTime(Fecha);

Console.WriteLine("El resultado de la suma de enteros es: " + (Numero1 + Numero2));
Console.WriteLine("El resultado de la suma con decimales es: " + (Numero3 + Numero4));
Console.WriteLine("Mes: {0}, Dia {1}, Año {2}", dt.Month, dt.Day, dt.Year);

String a = Console.ReadLine();


}
}
}
  #2 (permalink)  
Antiguo 10/11/2008, 07:11
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Validacion

bueno yo usaria en vez de Parse, TryParse asi si falla no arrojara excepcion y lo del numero de decimales la forma rapida seria hacer un split de tu cadena de entrada en el caracter de separacion de decimales.

algo como

cadenadeEntrada.Split(',')[1] esto sera la parte decimal de tu numero si no tiene mas , o . solo obten el length de eso si es <4 mandas tu advertencia.

o la otra forma seria hacer una multiplicacion por algun multiplo de 10 para poder hacer la evaluacion de la parte decimal.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:36.