Delphi - no puedo realizar operaciones con puntos flotante

 
Vista:

no puedo realizar operaciones con puntos flotante

Publicado por krmj (6 intervenciones) el 08/03/2005 00:12:28
actualmente estoy programando en delphi y a la hora de multiplicar el precio unitario como es 0.25 por la cantidad ejemplo 10 me marca un error que no acepta el punto flotante, ya lo probe con varios tipos de datos y me sigue marcando error alguien ha hecho algo parecibo o como debo de declarara las variables
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:no puedo realizar operaciones con puntos flotan

Publicado por Dr Juzam (821 intervenciones) el 08/03/2005 01:14:31
Nos hace falta ver el código al menos. Tenemos que saber que tipo de variable usas. Generalmente, el tipo para cuando se maneja dinero es Currency. Si te sigue fallando, aquí estamos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por Elena (330 intervenciones) el 08/03/2005 13:05:33
¿Qué tipo de dato estás utilizando?
¿Qué error te marca?
Y por favor déjanos ver el código... No somos adivinos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por vvvvv (484 intervenciones) el 08/03/2005 20:31:12
Hola:

Comprueba que el separador decimal que pones es el correcto (el punto o la coma)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por Janus (32 intervenciones) el 09/03/2005 23:06:05
Bueno, después de leer sobre lo de Dr Juzam no hay duda que la variable tipo Currency serviría (lo digo por una cosa de experiencia de el, yo desconozco ese tipo de variable), sin embargo podrías usar una especie de módulo que convierta de integer a string, luego de string a real, realizar la operación, volver a string y por último hacerlo real otra vez.

En áspiros de quere lucirme xDDDd es broma, acá te dejo la direc de un módulo que puede convertir de string a real y de real a string.

http://pumpjanus.topcities.com/Delphi/ModuleX.zip

Tenés que pegarlo en la barra, sino no podés bajarlo.

Se usa de la misma manera que el StrtoInt nada más que se escribe StrtoReal y viceversa, claro que se tiene que vincular en el Uses ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por krmj (6 intervenciones) el 16/03/2005 21:42:06
pero como me doy cuenta es punto o coma el correcto??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por Dr Juzam (821 intervenciones) el 16/03/2005 21:45:08
Eso depende, si no estoy equivocado, de tu sistema operativo. Pero Delphi puede saber eso mediante la variable DecimalSeparator.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por krmj (6 intervenciones) el 16/03/2005 22:01:07
sabes lo que pasa es que haz de cuenta el sistema es para facturar y entonces el precio del producto lo jalo de una bd en donde esta declarado como string, entonces lo jalo como variant y entonces cuando lo multiplico por el valor y asea con punto o coma no me hace la operacion correcta y me manda resultados erroneos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por vvvvvvv (2 intervenciones) el 16/03/2005 22:04:18
Hola:

Depende como lo tengas configurado en Win

Inicio ... Configuración ... Panel de control ... Configuración regional y de idioma... Pestaña opciones regionasles (se ve) ... Personalizar ... Pestaña números (se ve y se puede cambiar).

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por Dr Juzam (821 intervenciones) el 16/03/2005 23:51:21
Pues se me ocurre que deberías leer la cadena y cambiar el punto o la coma por DecimalSeparator, así solucionarías el problema. He hecho un ejemplo, para ver si te puede ayudar: He puesto 3 edits y el siguiente código en el OnClick de un Button:

procedure TForm1.Button1Click(Sender: TObject);
var
Num1, Num2, Num3: Variant;
Caracter: Char;
begin
Num1:=Edit1.Text;
Num2:=Edit2.Text;
if DECIMALSEPARATOR=',' then
Caracter:='.'
else
Caracter:=',';
Num1:=StringReplace (Edit1.Text, Caracter, DECIMALSEPARATOR, [rfReplaceAll]);
Num2:=StringReplace (Edit2.Text, Caracter, DECIMALSEPARATOR, [rfReplaceAll]);
Num3:=Num1*Num2;
Edit3.Text:=Num3;
end;

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por krmj (6 intervenciones) el 17/03/2005 21:23:44
oye gracias si pude con eso , en serio muchas gracias oye y aprovechando tu sabes como darle formato a los numeros que son cantidades osea que tenga al final siempre 2 decimales .00 y que tenga la comila y eso??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por Dr Juzam (821 intervenciones) el 18/03/2005 21:05:39
Debes usar la función FormtaFloat ('#.00', ValorNumerico);

FormatFloat devuelve una cadena de texto representando a un valor numérico en un formato predeterminado. En tu caso, para que aparezca siempre los 00 (o los decimales, si nos son 00), es '#,00'. Consulta la ayuda para más detalles.
Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no puedo realizar operaciones con puntos flotan

Publicado por krmj (6 intervenciones) el 30/03/2005 20:02:04
ok gracias oye aprovechando cuando concateno una palabra por ejemplo:
x:='hola';
y:='quetal';
z:=x + y;
showmessage (z)
a la hora de mostrarlo sale hola quetal como le puedo dar un espacio para que salga hola como quetal
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar