Hola aams01.
No entiendo el por que de:
Código:
Float = StrToFloat(SGMateriales->Cells[4][Renglon]);
Siendo que el valor sigue estando en la variable Float...
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
Y más sencillo todavia:
Código:
Double Float = 1000.28;
String Aux = FloatToStr(Float);
SGMateriales->Cells[1][1] = FormatFloat("###,###,###.##", Float);
/* CONVERTIR */
Float = Aux.ToDouble();
Float = StrToFloat(Aux);
Pero insisto que no veo el sentido de las conversiones si el valor ya está en la variable Float.
Saludos.