TRY, except (Duda)
Publicado por wind (26 intervenciones) el 10/04/2014 23:25:23
Saludos cordiales.
Estoy utilizando el try and except en pascal, lo encuentro más fácil que usando el val.
Sin embargo, si el usuario ingresa un número decimal, aparecerá el mensaje: 'Error datos no validos ingresados '.
Acostumbro a usar el punto para expresar un número decimal.
Si ingreso solo un punto en ambos números, como resultado aparecerá 0.00 (Estoy conforme con ese comportamiento del programa.
Deseo entonces: Si el usuario ingresa un número decimal, no aparezca el resultado 0.00
¿Existe una forma?
Estoy utilizando el try and except en pascal, lo encuentro más fácil que usando el val.
Sin embargo, si el usuario ingresa un número decimal, aparecerá el mensaje: 'Error datos no validos ingresados '.
Acostumbro a usar el punto para expresar un número decimal.
Si ingreso solo un punto en ambos números, como resultado aparecerá 0.00 (Estoy conforme con ese comportamiento del programa.
Deseo entonces: Si el usuario ingresa un número decimal, no aparezca el resultado 0.00
¿Existe una forma?
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
program excepcion;
uses crt,sysutils;
var
sa,sb:string;
a,b,c:real;
begin
textcolor(white);
gotoxy(1,1);
writeln('Programa creado por WIND.');
gotoxy(1,3);
try
begin
write('Ingrese un numero: ');(*Se ingresa una cadena*)
readln(sa);
write('Ingrese otro numero: '); (*Se ingresa otra cadena*)
readln(sb);
a:=StrTofloat(sa);(*Se transforma la cadena sa a número decimal
y el valor se almacena en la variable a *)
b:=StrTofloat(sb);(*Se transforma la cadena sb a número decimal
y el valor se almacena en la variable b*)
c:=a+b;
end;
except
on EConvertError DO Writeln('Error datos no validos ingresados');
end;
gotoxy(1,6);
write('El resultado es: ',c:2:2);(*Me entregará el resultado con dos decimales*)
gotoxy(1,8);
writeln('Presione una tecla para finalizar el programa');
readkey;
END.
Valora esta pregunta


0