SoloCodigo
Programación General => C/C++ => Visual C++ => Mensaje iniciado por: SEBASTIAN en Lunes 25 de Noviembre de 2002, 11:29
-
Mi duda es la siguiente. Debo utilizar float en mi codigo visual c++ con formato español (ejemplo 2,99) y no en formato ingles (2.99). Mis problemas son los siguientes:
1.- Si la variable miembro asociada al control textbox es de tipo float no permite al usuario introducir numeros en formato español (es decir 2,99 no lo admite al no considerarlo float)
2.- Las operaciones (suma, producto,...)con numeros del tipo 2,99 no son admitidas ya que necesitan los operandos float con el formato ingles.
Como puedo solucionar este problema????
-
-
Una solucion,pued q no lo mejor no la mejor ,es asociar al textbox una variable de tipo CString ,despues obtienes el texto asociado al textbox con la funcion GetWindowText y con la funcion sscanf (usando el formato para float) leer el dato float de la vble CString.
-
No se si es muy tarde para responderte pero por lo que pueda ser, normalmente cuando suceden problemas de ese tipo se debe a la configuración regional de la máquina. En esos casos se suele leer la configuración con el GetLocale y se guarda para posteriormente restablecerla, con SetLocale se cambia aquello que se necesite en este caso el separador decimal, y al salir de la aplicación es importante volver a restablecer la configuración original.