Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2021
michal michal is offline
Miembro
 
Registrado: feb 2015
Posts: 28
Poder: 0
michal Va por buen camino
Problemas FR vcl 6.4, Memo WideString a Float

Hola a todos


Necesito algun consejo con este problema que tengo:


Estoy usando el C++Builder de RAD Studio TOKYO 10.2.3, y SQLite
Necesito sumar el contenido de tres Memos(de una columna) en mi reporte, ese contenido está en formato de texto, y así está almacenado en las tablas relacionadas de mi Base de Datos, lo hice así para evitarme los problemas de coma o punto con el sist operativo y los números float. Al intentar sumar esos Memos usando por ejemplol var2 = Memo2->Text.ToDouble(); para convertirlos, obtengo el siguiente error: '3945.0' is not a valid floating point value.


Mi reporte está compuesto de 84 Memos, donde cada uno muestra el resultado de una consulta SQL del tipo SUM de los contenidos de varias tablas relacionadas.(todo eso funciona ok)

Si logro realizar la suma de esos Memos, me ahorro hacer 21 consultas de sumas de totales.


Ah, solo uso un objeto TSQLQuery en mi DataModule, hice una función a la que le paso los parametros: nombre del Memo, y la consulta en sí, al llamarla, me va llenando cada celda(Memo).


luego de 3 Memos en forma de columna hay un Memo que es la suma de los valores de los 3 Memos anteriores,



Alguien puede ayudarme?


Desde ya, Gracias
Responder Con Cita
  #2  
Antiguo 26-04-2021
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Estimado Michal, porque complicarse la existencia almacenando valores numéricos como texto, cual es el sentido de eso.

De seguro en la situación actual, el separador de decimales le está pasando la cuenta.

Primero le sugiero (talvez ya lo chequeo) que verifique cuales son los separadores de miles y decimales.

De igual forma usted puede indicarlos en su sistema a través del la variable global FormatSettings.

Código Delphi [-]
procedure TForm1.OnCreate(...)
begin
      FormatSettings.DecimalSeparator:='.';
      FormatSettings.ThousandSeparator :=',';

      {Estos afectaran a la aplicación, independiente de los asignados en la configuración del su sistema.}
end;

Saludos cordiales
Responder Con Cita
  #3  
Antiguo 29-04-2021
michal michal is offline
Miembro
 
Registrado: feb 2015
Posts: 28
Poder: 0
michal Va por buen camino
Muchisimas Gracias

Me habia complicado tanto porque no sabía que se podia hacer lo me indicaste. Pero bueno ya veo que todo es posible en programación, con los conocimientos adecuados.
Ahora me queda reestructurar toda mi base de datos.


Una vez más mil gracias.


Saludos desde Cuba
Responder Con Cita
  #4  
Antiguo 29-04-2021
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Estimado Michal, el sentido de este foro es poder brindar una mano a quien necesita.

Me alegro mucho que haya encontrado la solución a su problema.

Un caluroso abrazo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problemas cadenas y float noelr Varios 6 03-05-2012 19:51:59
Problemas Sumando Memo1.Memo + Memo2.Memo JuanErasmo Impresión 10 05-02-2008 14:40:13
Problemas con los float tato Varios 2 03-04-2006 11:57:38
problemas con float y redondeos wonder boy Firebird e Interbase 17 27-12-2005 20:59:06
Problemas con float.... ilichhernandez Varios 2 20-12-2005 16:19:20


La franja horaria es GMT +2. Ahora son las 14:35:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi