Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wykonywanie działania z losowaniem
Forum PHP.pl > Forum > PHP
Giluś
Cześć chciałbym wykonać skrypt który będzie mi obliczał moje liczby ( również z przecinkami np 1,3 , 10,300000 ) + będzie losował jeszcze cyfry... Stworzyłem taki kod ale wyświetla mi tylko 3 wyniki a z moich przedziałów liczbowych jest na pewno więcej..

  1. <form action="" method="post">
  2.  
  3. <li>
  4. <label for="name">Liczba D</label>
  5. <input name="d" type="text" value="<?php echo $_POST['d'] ?>"/>
  6. </li>
  7. <li>
  8. <label for="name">Liczba B</label>
  9. <input name="b" type="text" value="<?php echo $_POST['b'] ?>"/>
  10. </li>
  11. <li>
  12. <label for="name">Liczba C</label>
  13. <input name="c" type="text" value="<?php echo $_POST['c'] ?>"/>
  14. </li>
  15. <li>
  16. <label for="name">Liczba X</label>
  17. <input name="x" type="text" value="<?php echo $_POST['x'] ?>"/>
  18. </li>
  19. <li>
  20. <label for="name">Liczba Y</label>
  21. <input name="y" type="text" value="<?php echo $_POST['y'] ?>"/>
  22. </li>
  23. <input type='submit' value='Wynikuj'/>
  24. </form>
  25. <?php
  26. if(!empty($_POST)){
  27. $d = $_POST['d'];
  28. $b = $_POST['b'];
  29. $c = $_POST['c'];
  30. $x = $_POST['x'];
  31. $y = $_POST['y'];
  32.  
  33. if ($y < $x) {echo "Liczba Y musi być większa od liczby X";}
  34. else $losowanie = rand($y,$x);
  35.  
  36. $liczenie = $b + $c;
  37. $liczeniee = $liczenie / 3;
  38. $liczenien = $d * $liczeniee;
  39. $liczeniek = $liczenien * $losowanie;
  40.  
  41. echo "Wynik: ".$liczeniek."";
  42.  
  43.  
  44. }
  45. ?>



Tak wygląda cały kod i wstawiłem cyfry takie jak:
D: 2
B: 3
C: 4
X: 10.3
Y: 14.8
i losuje mi liczby tylko takie:
1. 65.3333333333
2. 56
3. 60.6666666667

A ja bym chciał aby brało pod uwagi ( w losowaniu ) wszystkie możliwe cyfry z przedziału 10.3 do 14.8
10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12.0 - itd, itp

Jak można takie coś osiągnąć ?






Blame
Tak na szybko: mt_rand wink.gif
Giluś
Zamieniłem rand na mt_rand jednak to nic nie pomogło

Nie zauważyłem ze złe ustawiłem rand zaczynałem od większej liczbie a kończyłem na mniejszej...
Ale przy użyciu pętli for ( do testowania jakie liczby wyjdą ) polazło się takie coś:

10.3
11.3
12.3
13.3
14.3

przy takim kodzie
  1. for( $x = $x; $x <= $y; $x++ )
  2. echo $x." <br />";


Jak zrobić aby wyświetlało 0.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12.0 - itd, itp - tak jak wcześniej to już napisałem
Ilware
Nie do końca wiem czy o to Ci chodzi ale po prostu wynik z rand zaokrąglij funkcją http://pl.php.net/manual/pl/function.round.php do jednego miejsca po przecinku
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.