Ayuda - Quitar decimales y redondear número

  • Autor Autor welcom92
  • Fecha de inicio Fecha de inicio
W

welcom92

Delta
Hola buenas!


Estoy modificando un codigo PHP para que me diga la distancia entre dos localidades que yo introduzca en dos selects y me encuentro con el problema que me devuelve 221.729 Km y me gustaria que redondeara y que pusiera simplemente 222 Km como lo hago ?

Aquí dejo el codigo que muestra los kilometros.

Insertar CODE, HTML o PHP:
var geocoder, location1, location2, gDir;

    function initialize() {
        geocoder = new GClientGeocoder();
        gDir = new GDirections();
		
        GEvent.addListener(gDir, "load", function() {
            var drivingDistanceMiles = gDir.getDistance().meters / 1609.344;
            var drivingDistanceKilometers = gDir.getDistance().meters / 1000;
            document.getElementById('results').innerHTML = drivingDistanceKilometers  + '<strong> Km</strong>';
        });
    }

Un saludo y gracias.
 
Para redondear el número puedes utilizar: round();

Insertar CODE, HTML o PHP:
float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )
Devuelve el valor redondeado de val con la precision especificada (número de dígitos después del punto decimal). precision puede también ser negativo o cero (valor predeterminado).

Para quitarle los decimales: number_format();

Insertar CODE, HTML o PHP:
$número = 1234.56;

// notación inglesa (por defecto)
$número_formato_inglés = number_format($número);
// 1,235
 
Para redondear el número puedes utilizar: round();

Insertar CODE, HTML o PHP:
float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )
Devuelve el valor redondeado de val con la precision especificada (número de dígitos después del punto decimal). precision puede también ser negativo o cero (valor predeterminado).

Para quitarle los decimales: number_format();

Insertar CODE, HTML o PHP:
$número = 1234.56;

// notación inglesa (por defecto)
$número_formato_inglés = number_format($número);
// 1,235

Y como implemento ese codigo en el mio para que funcione ya que no se como
 
Prueba a sustituir la última línea:
document.getElementById('results').innerHTML = drivingDistanceKilometers + '<strong> Km</strong>';

Por ésta otra:
document.getElementById('results').innerHTML = number_format(round(drivingDistanceKilometers)) + '<strong> Km</strong>';

Ya me cuentas..
 
Es php no js, ademas de round() está: ceil() y floor()
 
Veo que tu código es Javascript.
Entonces puedes usar el método: toFixed(Precision)

HTML:
221.729.toFixed(); // Te muestra 222

En tu caso sería:


HTML:
document.getElementById('results').innerHTML = drivingDistanceKilometers.toFixed()  + '<strong> Km</strong>';

😉
 
Prueba a sustituir la última línea:
document.getElementById('results').innerHTML = drivingDistanceKilometers + '<strong> Km</strong>';

Por ésta otra:
document.getElementById('results').innerHTML = number_format(round(drivingDistanceKilometers)) + '<strong> Km</strong>';

Ya me cuentas..


Puse dicho codigo pero me salto error , gracias por la ayuda , #ziney ya encontró una solucion

- - - Actualizado - - -

Veo que tu código es Javascript.
Entonces puedes usar el método: toFixed(Precision)

HTML:
221.729.toFixed(); // Te muestra 222

En tu caso sería:


HTML:
document.getElementById('results').innerHTML = drivingDistanceKilometers.toFixed()  + '<strong> Km</strong>';

😉

MUCHAS GRACIAS , LLEVABA CASI 2 HORAS ESTIRÁNDOME DE LOS PELOS ;P
 
Puse dicho codigo pero me salto error , gracias por la ayuda , #ziney ya encontró una solucion

- - - Actualizado - - -



MUCHAS GRACIAS , LLEVABA CASI 2 HORAS ESTIRÁNDOME DE LOS PELOS ;P


De nada.

Por si lo necesitas, el parámetro precision de toFixed lo puedes usar para redondear a los decimales que deseas:

HTML:
distancia = 5.785;
distancia.toFixed(2);

Te muestra: "5.79"

Saludos
 
Atrás
Arriba