![]() |
Validar convercion Str a Float
como podria validar al convertir de string a foat
tengo el siguiente codigo , pero cuando la cadena viene vacia mi programa se interrumpe con un error : while not data.qped4.eof do begin if data.qped4FECHA.value > mxfecha then begin decodedate(mxfecha,anno, mes, dia); series1.Add(MXCICLO, inttostr(dia), clteecolor); mxfecha:=data.qped4FECHA.value; end; MXCICLO:=STRTOFLOAT(DATA.qped4CICLO.VALUE); data.qped4.Next; end; // del while not eof AGRADEZCO SU ATENCION Y AYUDA GRACIAS.:D |
Hay varias opciones.
Una es interceptar la excepción:
Puedes usar la función TryStrToFloat:
O también puedes usar StrToFloatDef si conoces de antemano que algún valor no es posible. Por ejemplo, si sabes que ningún dato puede ser -1 entonces pones:
El código que pongas para manejar el error dependerá de qué es lo que quieres hacer con un dato erróneo. Tratándose de un ciclo muy posiblemente no quieras mostrar un mensaje al usuario ya que la ejecución del ciclo se detendría en cada dato incorrecto. Puedes optar por apuntar el registro ofensor en un archivo log. Si sabes que los datos vacíos han de tratarse como ceros entonces quizá la tercera opción te sea más cómoda (cambiando -1 por 0) ya que te hará autmáticamente la conversión. Por otra parte no indicas qué error te da, pero tratándose de bases de datos quizá el problema provenga de que el valor del campo es NULL. En tal caso, si deseas que ese valor se trate como 0 puedes tambier optar por poner la variable global NullStrictConvert en false lo que ocasiona que los valores NULL automáticamente se conviertan a ceros. // Saludos |
La franja horaria es GMT +2. Ahora son las 13:31:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi