Arrondi une distance en mètre ou en kilomètre

  Information

Cette fonction prend en paramètre une distance en mètres et retourne une chaine de caractères contenant une distance en mètres ou en kilomètres. La valeur est arrondie pour que le résultat soit le plus lisible possible. 

Il n'y a que les deux premiers chiffres qui peuvent être différents de zéro ( ou un chiffre après la virgule si le nombre est inférieur à 10).

Les exemples ci-dessous permettent de mieux comprendre le fonctionnement.

  code source classé dans  Convertisseurs

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
 27    
 28    
 29    
 30    
 31    
 32    
 33    
 34    
                               
/*---------------------------------------------------------------*/
/*
Titre : Arrondi une distance en mètre ou en kilomètre

URL : https://phpsources.net/code_s.php?id=511
Auteur : forty
Website auteur : http://www.toplien.fr/
Date édition : 25 Avril 2009
Date mise a jour : 14 Aout 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*---------------------------------------------------------------*/

function arrondi_distance($distance_metre) {
$resultat = round($distance_metre);
$len = strlen($resultat) - 2;
if ($len > 0) {
$resultat = round($distance_metre / pow(10, $len), 0) * pow(10, $len
);
if ($resultat >= 10000) {
return number_format(($resultat / 1000), 0, ',', '') . ' km';
} elseif ($resultat >= 1000) {
return preg_replace('/,0$/', '', number_format(($resultat / 1000
), 1 , ',', '')) . ' km';
} else {
return $resultat . ' m';
}
} else {
return $resultat . ' m';
}
}
?>

Exemple :

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
                                
echo arrondi_distance(12) . '<br>';
// Affiche : 12 m
echo arrondi_distance(456) . '<br>';
// Affiche : 460 m
echo arrondi_distance(7891) . '<br>';
// Affiche : 7,9 km
echo arrondi_distance(23456) . '<br>';
// Affiche : 23 km
echo arrondi_distance(789123) . '<br>';
// Affiche : 790 km
?>

      Fonctions du code - Doc officielle PHP

Détail    php.net  
Description
Versions PHP
   echo
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
   number_format
Formate un nombre pour l'affichage
PHP 4, 5, 7 et 8
   pow
Expression exponentielle
PHP 4, 5, 7 et 8
   preg_replace
Rechercher et remplacer par expression rationnelle standard
PHP 4, 5, 7 et 8
   return
Retourne le controle du programme au module appelant.
PHP 4, 5, 7 et 8
   round
Arrondi un nombre à virgule flottante
PHP 4, 5, 7 et 8
   strlen
Calcule la taille d'une chaîne
PHP 4, 5, 7 et 8

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

 Autres snippets qui pourraient vous intéressez

Arrondir un nombre entier et décimal

Compatibilité : PHP 5, PHP 7, PHP 8

Arrondir des nombres entiers ou décimaux (AVEC valeur inférieure, égale ou supérieure) et avec la valeur que vous voulez.

Arrondi au multiple supérieur

Compatibilité : PHP 5, PHP 7, PHP 8

Arrondi le nombre $nombre au multiple supérieur de $n (entier positif) le plus proche. Par défaut, fonctionne comme floor ()

Trouver une distance euclidienne

Compatibilité : PHP 5, PHP 7, PHP 8

Renvoie la distance euclidienne entre les points passés en tant qu'arguments de fonction.

Calcul la distance entre 2 points en km - PHP Sources

Compatibilité : PHP 5, PHP 7, PHP 8

Ce source calcule la distance entre deux paires de coordonnées de latitude et de longitude. Renvoie la distance en miles ou en kilomètres.

PHP - Distance entre deux points avec coordonnées GPS

Compatibilité : PHP 5, PHP 7, PHP 8

Calcule la distance à vol d'oiseau en mètres entre deux points avec la latitude et la longitude en degrés décimaux.

* Requêtes exécutées avec Recherche Contextuelle
avatar

Forty

  25 Avril 2009

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

    14 Aout 2019
    fonctionnement du code vérifié

11 273 Vues
Compatibilité du code
PHP 5, 7 et 8+