Comunidad de diseño web y desarrollo en internet online

Problema tipos de variable...

Citar            
MensajeEscrito el 29 Oct 2007 03:29 pm
Hola a tod@s,

Tengo un problema con esta operación en PHP:

echo 1-pow(1+(5/12),-360);

Cuando imprimo el trozo pow(1+(5/12),-360) por separado, me da un decimal muy largo y con muchos ceros...

Y cuando hago la operación entera me imprime 1 :?

Qué se supone que pasa? 1-0.000000000000...0001 NO es 1, es 0.9999999....32132000.... porqué no me da el resultado que necesito?
Alguien se ha topado con esto? O sabe como solucionarlo? supongo que debe ser un problema a la hora de declarar o forzar variables o algo así...

SOS

Por Ackman303

1 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 29 Oct 2007 03:50 pm
Esta bien el resultado, por que esta aproximando.-
La formula que tu tienes (te falta un parentecis de todas maneras).-

Código :

echo 1-pow((1+(5/12)),-360);

1 + 1/(1+(5/12) exp(360)), osea estas dividiendo 1 por un numero gigante: 1/1371831159000000000000.09, por ende te da como resultado un limite =>0
cuando restas 1-limite=>0 te da 1, por que es lo mismo que restas 1-0 = 1

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 29 Oct 2007 04:10 pm
Entonces por qué me da el resultado del POW y no el de 1-POW(...)?
Lo mismo es que me de un número muy próximo al 0 que al 1. Porque 1-0.0000000000000....0009 es casi 1. Y el resultado que me da el POW es casi 0 y si me lo da como necesito...

Sabes como hacer que me imprima lo que necesito? Quizas forzando a double o algo así?

Por Ackman303

1 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 29 Oct 2007 04:16 pm
Para ser especifico es:
1-0.000000000000000000000000000000000000000000000000000000349652695795469892203755080117844045162200927734375

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 29 Oct 2007 04:20 pm
Si eso está claro, lo que necesito es que PHP no me de 1, si no el valor que es en realidad... Sabes como hacerlo? o alguien sabe como hacerlo?

Por Ackman303

1 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 29 Oct 2007 04:49 pm

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.