Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-12-2010
odelgado2001601 odelgado2001601 is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 9
Poder: 0
odelgado2001601 Va por buen camino
Problema como coma

Hola amigos

Recupero un campo de la bd mysql que esta de la siguiente forma:
Tasatr:= 0.812;

pero al colocar el valor en una variable delphi de tipo double (antes estaba real), me la coloca como 0,812.

Mi configuracion regional esta para recibir los decimales con punto y los miles con coma.

No se por que me convierte el valor con coma si con punto viene dsde la BD.


Ademas luego de procesar la se hace lo siguiente:


Stasa:=FormatFloat('####.#####',1+(Tasatr/100));


Pero esto me da un numero 1,00812, el problema es que luego meto ese valor en una consulta, pero como esta con coma, me arroja error.

Alguna sugerencia?
Responder Con Cita
  #2  
Antiguo 23-12-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Todo el entorno delphi para las variables y muestreo de datos utiliza por defecto el separador coma ( , ), dicho separdor es la variable "DecimalSeparator" ubicada en la Unidad "SysUtils", eso significa que para mostrar los datos ya sea en un dbGrid,DBEdit,etc.; delphi utiliza esta variable para poner el separador específico.
Entonces lo que se puede hacer es cambiar el valor de ésta variable por el que querramos, pero ojo eso implica que la modificacion afectará a todos los controles y funciones que utilizen la variable "DecimalSeparator"., lo que suelo yo hacer es cambiarla momentaniamente para hacer alguna operacion específica y luego nuevamente ponerla como estaba anteriormente.
Algo así:
Código Delphi [-]
Var Aux:Char;
begin
Aux:=DecimalSeparator; //hago una copia
DecimalSeparator:= '.';//cambio el valor
{Código para hacer alguna operacion}
...
...
...
DecimalSeparator:=Aux;// Nuevamente el doy el separador por defecto
end;
Tambien es bueno saber es que delphi toma en cuenta la configuracion regional para estos menesteres.

Otra opcion muy mencionada en éstos caso es hacer el cambio de valor internamente, es decir el usuario presiona la tecla punto (.) pero internamente se hace la conversion a coma ( , ) o viceversa, de tal manera que en pantalla el usuario verá una coma ( , ) al presionar la tecla punto ( . ), es lo que hace la calculadora de Windows por ejemplo cuando presionamos la tecla punto ( . ).
Espero te sea de utilidad..
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 23-12-2010 a las 17:43:35.
Responder Con Cita
  #3  
Antiguo 23-12-2010
odelgado2001601 odelgado2001601 is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 9
Poder: 0
odelgado2001601 Va por buen camino
Gracias

Gracias man.. funciono
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
Tecla punto como coma decimal Kubelo Varios 5 28-11-2010 23:58:24
La importancia de una coma. marcoszorrilla La Taberna 5 16-07-2008 16:28:58
Separador decimal como coma (,) Investment SQL 2 26-01-2004 11:36:10
Coma Investment Humor 1 02-07-2003 10:45:07
Como le saco la coma o el punto a un número? DML Varios 4 23-06-2003 09:46:03


La franja horaria es GMT +2. Ahora son las 04:20:19.


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