elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  operación matematica en php. INCREIBLE!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: operación matematica en php. INCREIBLE!!  (Leído 2,264 veces)
OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
operación matematica en php. INCREIBLE!!
« en: 15 Septiembre 2015, 18:15 pm »

tengo la ultima version de xampp que lleva la ultima versión de PHP
mi codigo es

Código:
$a=14;
$b = 13.97;
$op = $a-$b;
echo 'RESULTADO'.$op;

¿Porque el resultado es 0.029999999999999  cuando debería ser 0.03?

Gracias


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: operación matematica en php. INCREIBLE!!
« Respuesta #1 en: 15 Septiembre 2015, 18:20 pm »

por asuntos de precisión a nivel binario...


si haces en c++ la misma operación
Código
  1. #include<iostream>
  2.  
  3. using namespace std;
  4. int main()
  5. {
  6.    int a = 14;
  7.    float b = 13.97;
  8.    float op = a-b;
  9.  
  10.    cout<<op<<endl;
  11.  
  12.    return 0;
  13. }
  14.  

te dará un resultado similar
Código:
0.0299997


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: operación matematica en php. INCREIBLE!!
« Respuesta #2 en: 15 Septiembre 2015, 19:13 pm »

Entonces la idea es siempre redondear en cualquier operación matemática para que no te pasen estas cosas porque en la calculadora de "andar por casa" no sucede.
Gracias por la explicación
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: operación matematica en php. INCREIBLE!!
« Respuesta #3 en: 15 Septiembre 2015, 19:16 pm »

si, formatéa el resultado de los tipo flotante para evitar esos detalles...
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: operación matematica en php. INCREIBLE!!
« Respuesta #4 en: 15 Septiembre 2015, 19:45 pm »

Como bien te dicen, tiene que ver con que las computadoras utilizan la aritmética del punto flotante, una aritmética que utiliza una cantidad de dígitos de precisión, una mantiza y un exponente para representar los números en la aritmética de la computadora.

De acuerdo al tipo de redondeo que se utilice (dígase por truncamiento o al numero flotante más cercano) se pierde precisión en los cálculos.

Mi recomendación que te leas este artículo:

What every computer scientist should know about floating-point arithmetic (Todo lo que un científico de la computación debe saber acerca de la aritmética de punto flotante)

Salu2s
En línea

OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: operación matematica en php. INCREIBLE!!
« Respuesta #5 en: 16 Septiembre 2015, 09:13 am »

Muchas gracias por la aclaración.  ;-) ;-) ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Paradoja matemática?...
Desafíos - Wargames
flacc 6 6,042 Último mensaje 29 Junio 2010, 23:00 pm
por Novlucker
Ayuda matematica-
Foro Libre
BlackZeroX 3 4,202 Último mensaje 10 Abril 2011, 01:18 am
por BlackZeroX
[Resuelto] ¿Qué operación matematica puedo hacer para arreglar esto?
PHP
Leguim 5 2,766 Último mensaje 9 Febrero 2020, 18:15 pm
por Leguim
Leer archivo .txt y hacer operación matemática
Scripting
rafaeljoseyepez 2 2,576 Último mensaje 21 Junio 2020, 20:39 pm
por rafaeljoseyepez
operacion matemática ¿¿?¿?¿?
PHP
OssoH 2 2,486 Último mensaje 24 Febrero 2021, 11:13 am
por OssoH
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines