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; Perdon si reposte error con Telmex Internet |
Solucion absurda es quitar las ","
Float = AnsiReplaceStr(SGMateriales->Cells[4][Renglon],",",""); |
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 Código:
Double Float = 1000.28; Saludos. |
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 |
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 no genera error si paso previo a la conversión hacemos: Código:
Aux = "125.000,12"; Saludos. |
La franja horaria es GMT +2. Ahora son las 03:36:24. |
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