Foros del Web » Programando para Internet » PHP »

Cero negativo

Estas en el tema de Cero negativo en el foro de PHP en Foros del Web. Cuando estaba aprendiendo javascript me fijé en que había un cero positivo y otro negativo. Ahora estoy aprendiendo PHP, y estoy haciendo un formulario en ...
  #1 (permalink)  
Antiguo 24/02/2008, 11:43
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Cero negativo

Cuando estaba aprendiendo javascript me fijé en que había un cero positivo y otro negativo. Ahora estoy aprendiendo PHP, y estoy haciendo un formulario en el que poner ejercicios de matemáticas, y al corregirlo puse esto:
Código PHP:
$mal $total $bien $blanco//las que están mal del total son las que ni están bien ni están sin contestar
[...]
echo 
"Mal: "."$mal"."/10" 
Y cuando abro la página me encuentro que pone:
Código:
Mal: -0/10
¿Alguien puede decirme por qué ese cero es negativo y cómo lo hago para que sea positivo sin tener que multiplicar por -1 (no quiero que ponga "Mal: -2/10" o algo así)?
  #2 (permalink)  
Antiguo 24/02/2008, 11:49
 
Fecha de Ingreso: mayo-2006
Mensajes: 120
Antigüedad: 18 años
Puntos: 3
Re: Cero negativo

Código:
echo -0;
$cero_negativo = -0;
echo $cero_negativo;
Resultado
Código:
00
mmm, no conozco nada parecido a un cero negativo en enteros. Si estas recibiendo desde un formulario fijate de hacer alguna de las dos siguientes cosas:
$var = (int)$_POST['var'];
o bien
$var = sprintf("%d",$_POST['var']);

Espero que te sirva, saludos.
__________________
programación php
  #3 (permalink)  
Antiguo 24/02/2008, 13:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Cero negativo

Código PHP:
$mal $total $bien $blanco//las que están mal del total son las que ni están bien ni están sin contestar 
[...]
$mal number_format($mal2',''.');  //redondea $mal a las centésimas y le pone una coma decimal en vez de un punto
[...]
echo 
"Mal: "."$mal"."/10" 
No había puesto el number_format porque creía que no tenía importancia, pero ahora he intentado comprobar qué estaba mal, y me he dado cuenta de que sin el number_format, en vez de poner -0,00 pone -8.881784197E-16.

Me acuerdo de que en javascript se usaba una E para representar la notación científica (multiplicación por potencias de 10). ¿Eso es igual en PHP?

Para los que no sepáis lo que es la notación científica: el número -8.881784197 x 10(elevado a -16) es -0,(15 ceros)88817... Por eso lo redondeaba a -0,00.

Última edición por unokpasabaxaki; 24/02/2008 a las 16:54
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:29.