Voilà enfin une question à laquelle je n'ai pas trouvé de réponse en parcourant cette mine qu'est le forum.
Mon "problème" est le suivant (ce n'est pas réellement un problème, car je peux le contourner) :
Lorsque je veux convertir de grands nombres en écriture scientifique, cela fonctionne parfaitement dans le code que je vous ai mis ci-dessous lorsque j'utilise des float à la place de double.
Mais ce que je ne comprends pas réellement, c'est que dans le code précisément noté tel que ci-dessous, il me renvoie l'erreur "cannot convert from 'double' to 'float'" au niveau de "grandnombre" (1ère ligne à l'intérieur de la condition) et au niveau de "exposant" (juste en dessous).
J'ai essayé d'écrire aussi comme ceci pour le forcer à voir double, mais ça ne change absolument rien :
Code : Tout sélectionner
if (grandNombre> 1000000.0)
Du coup, si vous avez des liens qui pourraient m'aiguiller sur la manière de faire, je suis carrément preneur. En plus je suis sûr que c'est tout bête
Et si jamais vous me dites qu'il y a une syntaxe native en c# pour afficher l'écriture scientifique, j'hésiterai entre vous étrangler et vous embrasser
D'avance, merci à vous !
Code : Tout sélectionner
using UnityEngine;
using UnityEngine.UI;
public class CalculDesGrandsNombres : MonoBehaviour
{
public double grandNombre;
public Text grandNombreUI;
void Update
{
if (grandNombre> 1000000)
{
double exposant = (Mathf.Floor(Mathf.Log10(Mathf.Abs(grandNombre))));
double mantisse = ((grandNombre) / Mathf.Pow(10, exposant));
grandNombreUI.text = mantisse.ToString("F2") + "e" + exposant.ToString("F0");
}
else
{
grandNombreUI.text = grandNombre.ToString("F0");
}
}
}
Edit de quelques secondes après avoir cliqué sur envoyé : C'est évidemment les résultats de "Mathf.xxx" qui renvoient un float, mais du coup, comment faire ? parce que si je cast grandNombre en float, je n'ai plus aucun intérêt à utiliser des double