Discussion modèle:DMS

Dernier commentaire : il y a 12 ans par Juju2004 dans le sujet Simplification
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Problème d'arrondi

modifier

Il y a un petit problème avec les secondes qui sont tronquées et pas arrondies : par exemple 5.7747222222 donne 5° 46' 28.999999" or cette valeur affiche 5° 46' 28" (ça tronque) au lieu de 5° 46' 29" (arrondi correct). Quelqu'un maîtrise-t-il suffisamment le modèle pour corriger ça ? Merci. Damouns 8 mars 2007 à 00:23 (CET)Répondre

C'est normal, le modèle a été pensé comme ça. Je ne connais pas les conventions, je ne peux donc te dire si c'est juste. J'ai néanmoins effectué la modification, renseigne-toi ! — Kyle_the_hacker ¿! le 8 mars 2007 à 14:57 (CET)Répondre
J'explique : j'ai un point à 5° 46' 29". Je veux utiliser le modèle DMS (qui est appelé par le modèle Infobox commune française) donc je calcule la valeur en degrés décimaux et j'obtiens (5 + 46/60 + 29/3600) = 5.7747222222... or quand je rentre 5.7747222 avec un nombre même énorme de décimales, le modèle DMS tronquait toujours à l'inférieur c'est-à-dire 5° 46' 28". Avec Round j'obtiens bien les coordonnées de départ. Merci ! Damouns 8 mars 2007 à 17:01 (CET)Répondre

Simplification

modifier

Bonjour,

Je propose de simplifier le code très lourd de ce modèle qui fait appel à 16 inclusions. Code proposé :

<includeonly>{{#if:{{{1|}}}
	|{{#ifexpr:({{{1|0}}})<0|-}}{{#expr:floor ((((abs ({{{1}}})*3600) round 0))/3600)}}{{{2|°}}} {{padleft:{{#expr:(floor (((abs ({{{1}}})*3600) round 0))/60) mod 60}}|2|0}}{{{3|’}}} {{padleft:{{#expr:((abs ({{{1}}})*3600) round 0) mod 60}}|2|0}}{{{4|}}}
}}</includeonly><noinclude>{{Documentation}}<!-- Toutes les métadonnées (catégories, interwikis) dans la documentation SVP --></noinclude>

Voir Utilisateur:Juju2004/Brouillons/Modèles/DMS pour constater que le résultat est identique, sans la moindre inclusion. Cordialement.--Juju2004 (d) 21 septembre 2011 à 09:13 (CEST)Répondre

À propos, je viens de regarder ce modèle {{Round}}, j'adore comment il introduit des erreurs :

« {{Round|-0.5}} = 0. (doit retourner 0: en cas d’égalité arrondit toujours à l’entier supérieur)
{{Round|-3.5}} = -3. (doit retourner -3: en cas d’égalité arrondit toujours à l’entier supérieur) »

troncature et arrondi, collège programme de 6e od†n ↗blah 6 octobre 2011 à 21:11 (CEST)Répondre
Efectivement, c'est un truc que je n'avais pas vu. Sur le fond, ça n'est pas mal de documenter aussi les erreurs  . Si tu cherches un autre cas du même genre, il y a aussi {{Div}} qui me gêne un peu : « ce modèle retourne 0 si le modulus est nul, contrairement à l'opération mathématique non définie dans ce cas. » Pour ce qui est de {{round}}, il n'y a qu'à attendre : quand {{DMS}} s'en passera, {{round}} pourra tout simplement disparaître. (DMS lui-même étant fortement dépendant de l'impossibilité de {{coord}} d'afficher les coordonnnées sans globe et lien, mais c'est une autre histoire...)--Juju2004 (d) 7 octobre 2011 à 08:23 (CEST)Répondre
Revenir à la page « DMS ».