rand() mit Nachkommastellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • rand() mit Nachkommastellen

    Huhu,

    Ich hab gerade ein Problem mit der php Funktion rand() bzw. mt_rand().

    Mein Vorhaben:

    PHP-Code:
    mt_rand(-1.0000000000001.000000000000); 
    Ich möchte Zahlen mit ca. 10 stelliger Genauigkeit im Bereich zwischen -1 und +1 zufällig generieren.

    Leider klappt das mit der oben beschriebenen Methode nicht. Es werden lediglich die Werte -1, 0, 1 ausgegeben, allerdings ohne Nachkommastellen.


    Kann jemand von euch mir bei meinem Vorhaben weiterhelfen?
    Grüße, Chrissi
    Our Dreams are Wings

  • #2
    Schau mal auf php.net, dort kann man im Handbuch nachlesen, dass mt_rand einen Integer zurückgibt....
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      wie gibst du denn aus?

      mt_rand

      Kommentar


      • #4
        PHP-Code:
        echo mt_rand(-10000000000001000000000000) / 1000000000000
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Re: rand() mit Nachkommastellen

          Original geschrieben von Chrissi007
          Leider klappt das mit der oben beschriebenen Methode nicht. Es werden lediglich die Werte -1, 0, 1 ausgegeben, allerdings ohne Nachkommastellen.
          na so'n zufall.
          könnte das daran liegen, dass der rückgabewert von mt_rand() eindeutig als integer festgelegt ist ...?
          (und die parameter übrigens auch, also werden deine -1.000000000000 und 1.000000000000 gleich beim aufruf in -1 und 1 konvertiert.)

          Ich möchte Zahlen mit ca. 10 stelliger Genauigkeit im Bereich zwischen -1 und +1 zufällig generieren.
          dann erzeuge ganzzahlige zufallszahlen zwischen -10^x und 10^x, und dividiere diese anschließend durch 10^x.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Supi - Danke

            Hat geklappt
            Grüße, Chrissi
            Our Dreams are Wings

            Kommentar


            • #7
              immer wieder erstaunlich, was 20 sekunden nachdenken bringen kann, nicht wahr?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Kommt drauf an bei wem...
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar

                Lädt...
                X