FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
FLOAT de los ... no va!
Saludos,
Puede que sea una tonteria pero mirad quiero almacenar el valor real de una división La división es 3860 / 3600 lo pongo en un float de esta forma float aux; aux=3860/3600; PERO AUX tiene el valor 1! cuando tendria que tener 1,0722222222222222 Que es lo que pasa? |
#2
|
||||
|
||||
¿Tiene ese valor o te está enseñando ese valor?
¿Como visualizas el resultado?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Hola vivamotos, has esta pruebita y veraz que si funciona.
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#4
|
||||
|
||||
...Bueno, eso es un error frecuente que se puede cometer en C.
3860/3600; es una división de enteros, y por lo tanto el resultado en un entero float aux = 3860/3600; convierte el valor entero de la división a float, por lo tanto no tiene decimales... Y, entonces?... Pues debemos convertir antes a float uno o los dos operandos, desde ese momento el compilador asume que el resultado debe ser float: Código:
float aux = (float)3860/3600; //o float aux = 3860.0/3600; //o float aux = (float)3860/(float)3600; |
#5
|
||||
|
||||
Otra nueva
Alguien me podria ayudar ya que deseo que la salida sea por ejemplo:
1,2345 y no 1.2345 es decir que el decimal salga en coma y no en punto, por ejem usando la salida cout y/o printf. gracias de antemano
__________________
mg1821 |
#6
|
||||
|
||||
Hola,
No estoy seguro, pero, creo que puedes utilizar la variable global "DecimalSeparator", de modo que puedes cambiarla por una "coma", en lugar de un "punto", que es como viene de forma predeterminada. Prueba a ver qué tal. |
#7
|
||||
|
||||
uhmm... aun me queda la duda.
por ahi encontre que usando LOCALE la hacia, pero habra una forma mas sencilla?
__________________
mg1821 |
#8
|
|||
|
|||
Pues tendrias que usar un poco la imaginacion por ejemplo:
int d; float a; AnsiString b,c; a=StrToFloat(Edit1->Text)*StrToFloat(Edit2->Text);//primero transformas a float los datos de los edit y haces la operasion b=FloatToStr(a);//segundo transformas la operacion en String d=b.Pos(".");//Tercero buscas con pos la ubicasion del punto c=b.SubString(1,d-1)+","+b.SubString(d+1,b.Length());//4 partes en dos el resultado para suprimir el punto y cambiarlo por el caracter que se te antoje Label1->Caption=c;//y quinto lo muestras en un label Esto es solo un ejemplo, espero te sirva. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TEdit Float | Temurdounojo | Varios | 2 | 23-01-2008 11:54:52 |
Problemas con los float | tato | Varios | 2 | 03-04-2006 11:57:38 |
format float() | rastafa1 | DelphiPACK | 1 | 04-03-2005 07:18:29 |
de float a string | davidgaldo | Varios | 1 | 18-05-2004 15:41:26 |
Float | marianaf | Varios | 1 | 24-11-2003 19:44:47 |
|