8. A vous de jouer - gold number problem


#1

https://www.codecademy.com/fr/courses/web-beginner-fr-FR-vqg1y/0/8

mon code est correct, mais l'affichage du nombre d'or (1.618033988749894, soit 15 chiffres après la virgule) est arrondi à 13 chiffres après la virgule (1.6180339887499) dans l'affichage du navigateur :

Voici mes pensées !1.6180339887499

... pourquoi ?


English translation :
my code seems correct, but the gold number display (1.618033988749894, up to 15 numbers after the dot) is rounded to 13 numbers after the dot on browser :

Voici mes pensées !1.6180339887499

Why ?


<?php
      class Person {
         public static function say() {
            return "Voici mes pensées !"; 
          }
      }
      class Mathematicien extends Person {
           const nombreDor = 1.618033988749894;
      }
      
      echo Mathematicien::say();
      echo Mathematicien::nombreDor;
      
      ?>

#2

say() implies echo, not return.

say() implique echo, ne return pas.

echo "Voici mes pensées !";

Consequently the line,

En conséquence, la ligne,

may be written,

peut être écrite,

Mathematicien::say();

The second issue is partly to blame on PHP, itself.

La deuxième question est en partie responsable sur PHP, lui-même.

It echoed a rounded and truncated value of the constant, so the SCT did not see what it expected.

Il fait écho à une valeur arrondie et tronquée de la constante, de sorte que le SCT ne voit pas ce qu'elle attendait.

One fix for this might be to set the constant to a string value.

Un correctif pour ce pourrait être de régler la constante à une valeur de chaîne.

    const nombreDor = '1.618033988749894';

Now PHP doesn't have to convert it to a printable string, since it is one.

Maintenant, PHP n'a pas à le convertir en une chaîne imprimable, car il est l'un.

This is a hack, mind you, and barely a work around.

Ceci est un hack, vous exploiter, et à peine un travail autour.

It may be we just need to change up how we print.

Il peut être nous avons juste besoin de changer jusqu'à la façon dont nous imprimons.

Consider this,

Considérez ceci,

Now we can leave the constant as a float and have it display correctly.

Maintenant, nous pouvons laisser la constante comme un flotteur et l'afficher correctement.

It does not make sense messing around with a float that is hard written into the code.

Il n'a pas de sens de déconner avec un flotteur qui est dur écrit dans le code.

It means more messing around further down the code as a the interface grows.

Cela signifie plus de déconner plus bas le code en tant que l'interface se développe.