JeuWeb - Crée ton jeu par navigateur
Format d'affichage resultat division très petite - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Format d'affichage resultat division très petite (/showthread.php?tid=5296)

Pages : 1 2 3 4 5


Format d'affichage resultat division très petite - Argorate - 07-03-2011

Bonjour,

j'aurais aimé savoir si vous saviez comment forcer php à afficher les 0 après la virgule a la place du fameux arrondi automatique que j'ai en horreur:

exemple, moi j'ai ça :

Citation :1.7682711283366E-6


et je voudrais 0.0000017682711283366 plutôt...

Une idée?

je ne veux pas de round() car il faut lui préciser un nombre fixe de chiffre après la virgule, alors que moi je souhaite avoir le nb exact peut importe le nb déchiffre, mais pas avec la forme "E-x", vous voyez?


thx.


EDIT : j'ai bien essayé de finté en faisant : ini_set("precision", "1000");

Mais cela augmente le nb de chiffre significatif après la virgule mais cela n'enlève pas le "E-6" en l'occurrence Confused


RE: Format d'affichage resultat division très petite - niahoo - 07-03-2011

un truc comme sprintf('%f', $nombre);


RE: Format d'affichage resultat division très petite - Ieyasu - 07-03-2011

Citation :<?php
$nombre_initial = 0.0000017682711283366;

function afficher_decimal($nombre_initial)
{

$nombre_string = (string) $nombre_initial;

$tableau_fragments = explode('.',$nombre_string);

$tableau_fragment_2 = explode('E-',$tableau_fragments[1]);

$nombre_final = '0.';

for ( $i = 0 ; $i < ($tableau_fragment_2[1]-1) ; $i++ )
{
$nombre_final = $nombre_final.'0';
}

$nombre_final = $nombre_final.(string) $tableau_fragments[0].(string) $tableau_fragment_2[0];

return $nombre_final;
}

echo $nombre_initial;
echo '<br/>';
echo afficher_decimal($nombre_initial);
?>
(La balise code déconne?)
Cette fonction ne marche que sur les nombre à E positif, à bidouiller pour que ca soit le cas, mais ca fait une piste.

Je trouve ca crad comme façon de faire, il existe peut-être une fonction php plus propre...

en espérant t'avoir aidé !


RE: Format d'affichage resultat division très petite - Sephi-Chan - 07-03-2011

sprintf


RE: Format d'affichage resultat division très petite - niahoo - 07-03-2011

(07-03-2011, 04:46 PM)niahoo a écrit : un truc comme sprintf('%f', $nombre);



RE: Format d'affichage resultat division très petite - Sephi-Chan - 07-03-2011

Ah pardon. Je n'avais pas vu ton message ! Je saute toujours au dernier mais cette fois je suis sur un écran d'iPhone (plus de net à la maison), du coup j'ai loupé ça. :p


RE: Format d'affichage resultat division très petite - niahoo - 08-03-2011

au fait, pourquoi t'as pas le net ? FAI engrève ? Smile


RE: Format d'affichage resultat division très petite - Sephi-Chan - 08-03-2011

Free m'a débranché de chez Orange avant d'envoyer la Freeboîte. Ils ont beau avoir tout compris, leurs process sont pas terribles. :p


RE: Format d'affichage resultat division très petite - Argorate - 08-03-2011

Le problème est comme pour round(), si je fais un echo sprintf("%.20f", $nb); cela fonctionne, sauf que cela m'oblige a donner un nb de chiffre fini après la virgule (ici 20), hors je en connais pas le nb de chiffre significatif et il peut varié, donc il n'y a pas moyen de convertir simplement et "proprement" la notation scientifique en float normal? (ou empêcher la conversion en notation scientifique à la base?)


RE: Format d'affichage resultat division très petite - niahoo - 08-03-2011

si tu mets juste %f ça fait quoi ? flemme de tester