Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Formato numeros reales (https://www.clubdelphi.com/foros/showthread.php?t=78292)

Zucra 05-04-2012 21:51:40

Formato numeros reales
 
Tengo un programa en el cual hay unos Edits, donde debo ingresar numeros con coma (numeros reales)
Al ingresar el numero, para separar la parte real de la imaginaria, tengo que separarlos con una coma (,) Ejemplo: 2,14
Si pongo un punto (.) en lugar de una coma, me da error.

Quisiera saber si hay alguna forma de que me tome el numero separandolo con un punto, ya que al usar el Teclado numerico, es mas comodo.

Gracias

Caral 05-04-2012 22:00:02

Hola
Eso se hace en el panel de control, opciones regionales, ahi se define los decimales con coma o punto, se acepta y se reinicia windows.
Saludos

ecfisa 05-04-2012 22:17:08

Hola.

También podrías usar esto en los eventos OnEnter y OnExit de los edits.
Código Delphi [-]
procedure TForm1.EditEnter(Sender: TObject);
begin
  Decimalseparator:= '.';
end;

procedure TForm1.EditExit(Sender: TObject);
begin
  Decimalseparator:= ',';
end;

Pero creo que la opción más simple es asociár esto a los eventos OnKeyPress de los edits:
Código Delphi [-]
procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
begin
 if Key in ['.',','] then
   Key:= Decimalseparator;
end;

Saludos.

Enan0 05-04-2012 22:53:22

Hola Zucra, delphi por defecto carga las variables de sistema y son accesibles (y modificables, solo para tiempo de ejecución)

Código Delphi [-]

DecimalSeparator
ThousandSeparator

Por lo que deberias evaluar que es lo presiono el Usuario y reemplazarlo por el que corresponda.


saludos

Enan0 05-04-2012 22:54:11

Bue.. me quede colgado con la Respuesta abierta veo que ecfisa ya respondio y de manera mas clara.

se pueden borrar estos ..

ecfisa 05-04-2012 23:38:55

Cita:

Empezado por Enan0 (Mensaje 429422)
se pueden borrar estos ..

En absoluto, agregaste una mención a la variable ThousandSeparator que puede serle de utilidad. ;)

Saludos. :)

Zucra 11-04-2012 19:14:57

Bueno, muchas gracias a todos por responder. Me fue muy util y pude solucionarlo gracias ;)

Delphius 12-04-2012 03:11:25

Cita:

Empezado por Zucra (Mensaje 429416)
Tengo un programa en el cual hay unos Edits, donde debo ingresar numeros con coma (numeros reales)
Al ingresar el numero, para separar la parte real de la imaginaria, tengo que separarlos con una coma (,) Ejemplo: 2,14
Si pongo un punto (.) en lugar de una coma, me da error.

Debo de tener muy oxidada la teoría de matemática y se han cambiado las cosas porque que yo sepa un número real no tiene componente imaginaria. La clase de números que tiene dos componentes, una real y otra imaginaria son los números complejos. :rolleyes: Al menos así era la teoría hasta que terminé la cátedra de electrotecnia que fue la última vez que "toqué" un número complejo... allá por el año 2005. :D

Asi que allí va mi pregunta: ¿Tienes un número real y quieres identificar la "parte" decimal de la "parte" entera? ¿O bien, en realidad (ya párenle con los reales :D ) tienes un número complejo y se debe asumir que lo que esté a la izquierda de la coma se interprete como el componente real y lo que esté a la derecha como el componente imaginario.?

Saludos,

Zucra 15-05-2012 10:21:01

Cita:

Empezado por Delphius (Mensaje 429826)
Debo de tener muy oxidada la teoría de matemática y se han cambiado las cosas porque que yo sepa un número real no tiene componente imaginaria. La clase de números que tiene dos componentes, una real y otra imaginaria son los números

BUeno, perdon por tardar tanto en responder, es que ya habia logrado solucionar mi problema.
De todas formas, te respondo, y si, tenes toda la razon, me exprese muy mal. Seria parte entera y parte decimal. No se que me llevo a ese error, quiza el sueño del momento. Pido perdon. Gracias por responder.


La franja horaria es GMT +2. Ahora son las 08:17:47.

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