FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Error de conversion
Hola de ante mano gracias a todos.
Tengo un problema si no lo tuviera no pondria el hilo jiji. el problema en si es de conversion para no hacer grande la cosa es este Código:
Float=1000; SGMateriales->Cells[4][Renglon] = FormatFloat("###,###,###.##", Float); // quedaria SGMateriales->Cells[4][Renglon] = 1,000 Float = StrToFloat(SGMateriales->Cells[4][Renglon]); // Aqui mi error Float = SGMateriales->Cells[4][Renglon].ToDouble();// nuevamente error Perdon si reposte error con Telmex Internet
__________________
El Software es como el Sexo, si es de gratis es Mejor |
#2
|
||||
|
||||
Solucion absurda es quitar las ","
Float = AnsiReplaceStr(SGMateriales->Cells[4][Renglon],",","");
__________________
El Software es como el Sexo, si es de gratis es Mejor |
#3
|
||||
|
||||
Hola aams01.
No entiendo el por que de: Código:
Float = StrToFloat(SGMateriales->Cells[4][Renglon]); Pero si de todas formas queres realizar la conversión tenes que quitar el formato. Tendrías que hacerlo sobre una variable auxiliar, para que no cambie la presentación en la grilla: Código:
Double Float = 1015.28; // valor de ejemplo SGMateriales->Cells[4][Renglon] = FormatFloat("###,###,###.##", Float); String Aux = SGMateriales->Cells[4][Renglon]; char sep = DecimalSeparator; // guardar separador decimal Aux.Delete(Aux.Pos('.'),1); // eliminar '.' Aux = AnsiReplaceStr(Aux,",","."); // cambiar ',' por '.' DecimalSeparator = '.'; // separador decimal = '.' /* CONVERTIR */ Float = Aux.ToDouble(); Float = StrToFloat(Aux); DecimalSeparator = sep; // restaurar sep. decimal Código:
Double Float = 1000.28; String Aux = FloatToStr(Float); SGMateriales->Cells[1][1] = FormatFloat("###,###,###.##", Float); /* CONVERTIR */ Float = Aux.ToDouble(); Float = StrToFloat(Aux); Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 27-06-2011 a las 16:32:29. |
#4
|
||||
|
||||
Hola gracias por responder, la verdad yo tampoco le veo el sentido ni logica pero no me permite guardar a flotante por que tien una ',' y eso q esta como separador de miles. por eso de tener que quitar las ','. Gracias si tubieses alguna explicacion a este error seria de mucha ayuda.
El echo de Float = StrToFloat(SGMateriales->Cells[4][Renglon]); no es tanto en si por el echo de si tengo o no el valor 2 renglones arriba, lo que pasa es que no quise poner tanto codigo, tengo un StringGrid en el cual tengo varios campos (id, nombre.....precio, Cantidad, Importe=precio * Cantidad) pero como al usuario le agradan las cosas faciles de dijerir uso los separadores de miles ',' despues de esa operacion tambien sumo el resultado de la columa Importe esto lo ago con una funcion q recorre todo el StrinGrid
__________________
El Software es como el Sexo, si es de gratis es Mejor Última edición por aams01 fecha: 27-06-2011 a las 19:41:51. |
#5
|
||||
|
||||
Cita:
Tomando como ejemplo el número ciento veinticinco mil con doce, C++ Builder lo representa: 125000.12 Pero al darle el formato con la máscara queda: 125,000.12, representación numérica que no tiene un formato aceptado por C++ Builder. Y eso mismo es lo que indica el mensaje de error: '125,000.12' is not a valid floating point value, al intentar la conversión de esa cadena. El echo de que C++ Builder muestre el separador decimal como un punto o una coma es manipulable mediante: Código:
DecimalSeparator = '.'; // muestra: 125.000.12 // o DecimalSeparator = ','; // muestra: 125.000,12 no genera error si paso previo a la conversión hacemos: Código:
Aux = "125.000,12"; Aux.Delete(Aux.Pos('.'),1); StrToFloat(Aux); Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 27-06-2011 a las 23:56:54. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error en type conversion | che | SQL | 4 | 14-10-2008 22:52:14 |
Error de conversion de valor | Petolansa | Varios | 3 | 05-12-2007 15:03:54 |
Error de conversion de tipos | cacu | OOP | 0 | 28-11-2007 06:36:36 |
Error de Conversion..... | chileno | OOP | 7 | 06-01-2007 01:03:28 |
Error conversion from string '26/01/2006' | ZRR | Firebird e Interbase | 5 | 27-01-2006 23:56:12 |
|