Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   cambiar formato (https://www.clubdelphi.com/foros/showthread.php?t=49009)

ercrizeporta 10-10-2007 16:08:32

cambiar formato
 
hola, necesito saber si hay alguna forma de cambiar el formato de los numeros en delphi. Necesito que los numero de tipo float en vez de mostrarmelos como "3,4" me lo muestre como "3.5", ya que cuando voy a introducirlo en la base de datos no me lo reconoce correctamente y si los digitos van separados por "," solo me inserta los numeros enteros, sin los digitos decimales.
mcuhas gracias!!

dec 10-10-2007 16:18:31

Hola,

Investiga sobre la variable DecimalSeparator.

Mick 10-10-2007 16:22:16

Código Delphi [-]
uses SysUtils;

DecimalSeparator:= '.';

Pero esto es una muy mala idea en la mayoria de los casos (siempre hay excepciones).

Los separadores decimales, de miles , de fecha etc, cambian de pais en pais y la gente esta acostumbrada a los formatos de su zona.

El error que tienes es que metes la informacion en la base de datos con metodos que no son correctos. Usando de forma correcta los parametros de las queries no se dara ese problema sea cual sea la configuracion regional de windows.

Saludos

Besto 10-10-2007 16:32:22

Cambia tú el formato, haz un StringReplace. Cuando el caracter sea una coma pon un punto.
Eso sí, solo sería para mostrarlos en formato tipo texto. Internamente para trabajar con números tendría que tener comas.

BlueSteel 10-10-2007 18:02:11

Hola ercrizeporta

Pienso que deberias cambiar la configuración regional... Inicio - Panel de Control - Configuración Regional

ahí puede establecer cual será el separador decimal.. pero ojo.. cuando el programa lo ejecutes en otro Pc, deberás establecer las mismas características...

Mira.. el sgte codigo lo debes colocar en el Evento OnKeyPreess de Edit donde ingresar el dato...

la primera lines te cambia el punto (.) por una coma (,).. lo puedes usar al reves tambien.. y te valida que solo se ingresen numeros
Código Delphi [-]
     If Key='.' Then Key:=',';
     If Pos(',',Edit1.Text)=0 Then
        If not (Key in ['0'..'9',',',#8]) Then Key:=#0
           else Exit
     else
       If not (Key in ['0'..'9',#8]) Then Key:=#0;

espero que te sirva..:p


La franja horaria es GMT +2. Ahora son las 04:27:41.

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