Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Pregunta
Cual es el separador decimal en c, el punto o la coma?
Hola Impadrón.

Revisá si te sirve este hilo

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 22-02-2012
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 18
lmpadron Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola Impadrón.

Revisá si te sirve este hilo

Un saludo.
Gracias por responder ecfisa el problema es que el numero que uso nunca llega a los millares porque es una decena o sea 7.33 especificamente, si el usuario inserta algo mayor no se realizara la conversion.
De paso el codigo funciona perfecto en mi maquina con la coma, pero no en la de el usuario que estoy probando, de paso si lo pongo con el punto le funciona perfecto al usuario pero a mi no me funciona. Lo que no entiendo es que quieres decir con esto:
Cita:
Empezado por ecfisa Ver Mensaje
Código:
  Aux = "125.000,12";
  Aux.Delete(Aux.Pos('.'),1);
  StrToFloat(Aux);
Cuando es que pasa por esa conversion, tengo que realizarla yo, quien es AUX ?
Existe alguna forma de definir cual es el separador decimal interno para que no me de error al efectuar la conversion ?
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #3  
Antiguo 22-02-2012
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 16
gersojn Va por buen camino
Obtencion de Input Locale

Te doy una solucion a tu problema, no es la mas optima para implementarla, pero te puede dar una idea para partir de ahi, algo mas formal.

Dejar que la aplicacion decida cuando aplicar "," o "." , lo cual dependera de que Input tenga el PC donde lo ejecutes. Para obtener el separador decimal utilizas NumberFormatInfo(No recuerdo como instanciarlo, pero sangoogle, siempre sabe todo), dependiendo de si te retorne una "," o "." operas en tu aplicacion.

Saludos
Responder Con Cita
  #4  
Antiguo 22-02-2012
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 16
gersojn Va por buen camino
Otra solucion

Cita:
Empezado por gersojn Ver Mensaje
Te doy una solucion a tu problema, no es la mas optima para implementarla, pero te puede dar una idea para partir de ahi, algo mas formal.

Dejar que la aplicacion decida cuando aplicar "," o "." , lo cual dependera de que Input tenga el PC donde lo ejecutes. Para obtener el separador decimal utilizas NumberFormatInfo(No recuerdo como instanciarlo, pero sangoogle, siempre sabe todo), dependiendo de si te retorne una "," o "." operas en tu aplicacion.

Saludos
Investigando sobre un problema que debo de resolver, encontre algo que te pueda ser mucho mas util.
Mediante un registry, puedes determinar cual es el decimal utilizado en la PC. Voy a implementarlo en codigo, para mi aplicacion.
y posteo el codigo. Saludos
Responder Con Cita
  #5  
Antiguo 22-02-2012
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 18
lmpadron Va por buen camino
Cita:
Empezado por gersojn Ver Mensaje
(...) encontre algo que te pueda ser mucho mas util. (...) Voy a implementarlo en codigo (...) y posteo el codigo. Saludos
OK muchas gracias de paso estube buscando el numberformatinfo y no lo he encontrado en bcb sin embargo si aparece en visual estudio de hecho la mayor parte de las referencias son de ellos.
Espero a que lo implementes y postees !!!
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #6  
Antiguo 22-02-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por lmpadron Ver Mensaje
Gracias por responder ecfisa el problema es que el numero que uso nunca llega a los millares...
Creo que no has entendido la sugerencia de ecfisa:
Cita:
Empezado por ecfisa Ver Mensaje
Código:
  DecimalSeparator = '.';  // muestra: 125.000.12
  // o 
  DecimalSeparator = ',';  // muestra: 125.000,12
Cita:
Empezado por lmpadron Ver Mensaje
...Existe alguna forma de definir cual es el separador decimal interno para que no me de error al efectuar la conversion ?
Código:
  DecimalSeparator = '.';  // Si quieres que sea el punto
  DecimalSeparator = ',';  // Si quieres que sea la coma
Saludos.
Responder Con Cita
  #7  
Antiguo 22-02-2012
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 16
gersojn Va por buen camino
Solucion Optima y Viable

Cita:
Empezado por escafandra Ver Mensaje
Creo que no has entendido la sugerencia de ecfisa:



Código:
  DecimalSeparator = '.';  // Si quieres que sea el punto
  DecimalSeparator = ',';  // Si quieres que sea la coma
Saludos.
Hola, veras, para realizar el calculo sin que tengas problemas, efectivamente debes realizar la conversion Internamente(para que el usuario no lo perciba y trabaje a comodidad) o bien, externamente.

El codigo para obtener cual es el decimal en una PC es el siguiente

OJO: Incluyes la libreria

#include <Registry.hpp> Para que no te de problema

Código:
TRegistry *regKey = new TRegistry;
	regKey->Access =KEY_READ;
	regKey->RootKey  = HKEY_USERS;
	 regKey->OpenKey(".DEFAULT\\Control Panel\\International", true);
	 mostrar->Caption = regKey->ReadString("sDecimal");

//mostrar es un label donde reflejo en cuestion cual es el valor

	regKey->CloseKey();
Teniendo el simbolo ya tu haces comparacion si una "," que haga esto, si es "." que haga esto otro.

Saludos.
Responder Con Cita
  #8  
Antiguo 23-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Los valores actuales de los formatos de la configuración regional, también se pueden obtener consultando directamente las variables.

Ejemplo:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender) {
char const* MSGE = "Separador %s: [ %s ]";

  ShowMessage(
    Format(MSGE, ARRAYOFCONST(("decimal ",DecimalSeparator))) +'\n'+
    Format(MSGE, ARRAYOFCONST(("de miles",ThousandSeparator))) +'\n'+
    Format(MSGE, ARRAYOFCONST(("de fecha",DateSeparator))) +'\n'+
    Format(MSGE, ARRAYOFCONST(("de lista  ",ListSeparator))) 
    //...
  );
}
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Convertir coma en punto lucho1981 SQL 2 22-04-2009 23:47:06
Coma presionando punto.. Delfino Varios 2 20-10-2007 11:47:11
cambiar el punto por la coma carlosll Varios 6 12-04-2007 19:11:57
Sustituir punto por coma Carlos Arevalo Varios 3 13-10-2005 23:19:40
xml punto coma carlomagno Varios 2 06-09-2004 11:49:35


La franja horaria es GMT +2. Ahora son las 20:56:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi