FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
puntos y comas - decimales
Hola a todos!
Tengo un problema, estoy implementando una aplicación con Delphi y tengo el siguiente problema: Delphi, por defecto, utiliza el punto (.) para separar los decimales, en cambio Windows en castellano, por defecto, utiliza (,) para para separar los decimales. Entonces cuando utilizo un StrToFloat() o un FloatToStr() me da problemas. Lo que tengo que hacer es cambiar la configuración de windows para que utilice el punto para separar los decimales. El problema es que la aplicación, una vez hecha, si la quiero pasar a algún compañero, se tiene que cambiar la configuració de Windows... lo cual es una chapuza. Alguien sabe cómo solucionarlo? Muchas gracias. |
#2
|
||||
|
||||
Al contrario de lo que pensás, las aplicaciones de delphi leen el separador decimal de la configuración de windows.
Si no queres basarte en dicha configuración, podes manipular directamente el valor de la variable DecimalSeparator de la unidad SysUtils (no recomendable si no sabes lo que haces). Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Hola,
Me extraña esto, porque se supone que Delphi utiliza cierta variable "DecimalSeparator", que digo yo inicializará con el valor que esté usándose en el sistema. No sé. Digo que me extraña, porque para evitar los problemas que refieres, supongo que usa la variable mencionada (entre otras variables y técnicas, claro), pero, si es como dices... pues chico, no sé... |
#4
|
||||
|
||||
Lo que puedes hacer es jugar con la variable DecimalSeparator (char), aquí se almacena el separador decimal de windows.
Yo lo que hago es lo siguentes : 1.- En la introdución de texto : Capturo la tecla pulsada y si la tecla es '.' o ',' la cambio por DecimalSeparator. 2.- En el StrToFloat : si DecimalSeparator = ',' haces un StringReplace y cambias la ',' por el '.'. Espero te sirva. Un saúdo.
__________________
Si no lees esto no vivirás tranquilo Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao) |
#5
|
||||
|
||||
¡Qué lento!, aquí el que no corre vuela, se me adelanto jachguate y dec .
Un saúdo.
__________________
Si no lees esto no vivirás tranquilo Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao) |
#6
|
|||
|
|||
Otra cosa
¿Alguien sabe cómo hacer que alpulsar el punto del teclado numérico aparezca una como?
|
#7
|
||||
|
||||
Es lo que te comento en el post anterior.
En el evento OnKeyPress del componente comprueba el valor del parmetro key, si key = "." entonces lo cambias por ",". Yo lo que hago es controlar si key = '.' o ',' y lo cambio por DecimalSeparator. Un saúdo.
__________________
Si no lees esto no vivirás tranquilo Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao) |
#8
|
||||
|
||||
en "MI" aplicacion decido como se veran los numeros, por eso al final de la unit principal le agrego
Fuente: este club. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Leer un fichero csv con campos separados por puntos y comas. | pablo73 | Varios | 5 | 19-03-2020 10:47:51 |
comas por puntos | pruz | API de Windows | 4 | 05-07-2005 23:59:24 |
Comas o Puntos | pruz | Varios | 1 | 13-08-2004 21:18:42 |
Problemas con puntos y comas... Access | delphicano | Varios | 2 | 30-12-2003 16:07:54 |
comas decimales por puntos | Carmelo8 | Varios | 5 | 28-11-2003 02:45:23 |
|