Ayuda - Quitar decimales y redondear número

Desde
23 Ene 2012
Mensajes
579
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.
 

Ruiz86

Zeta
SEO
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
18 Dic 2012
Mensajes
1.523
Edad
38
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
 

welcom92

Delta
Desde
23 Ene 2012
Mensajes
579
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
 

Ruiz86

Zeta
SEO
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
18 Dic 2012
Mensajes
1.523
Edad
38
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..
 

ziney

Eta
Programador
Desde
9 Oct 2011
Mensajes
1.285
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>';

;)
 

welcom92

Delta
Desde
23 Ene 2012
Mensajes
579
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
 

ziney

Eta
Programador
Desde
9 Oct 2011
Mensajes
1.285
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
 
Arriba