Generowanie liczby siedmiocyfrowej z trzema miejscami po przecinku

Generowanie liczby siedmiocyfrowej z trzema miejscami po przecinku
B9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
0

Witam
Mam problem z wygenerowaniem takiej liczby a jest mi to potrzebne do zadania. Byłby ktoś w stanie podać kod jak to zrobić?

Zadanie to:
Wygeneruj liczbę siedmiocyfrową z trzema miejscami po przecinku. Na wygenerowanej liczbie wykonaj operacje floor(), ceil() i round(). Wyświetl ukazane wartości.

Marcin Osmolak-Rogaluk
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
0

Ta siedmiocyfrowa liczba z trzema miejscami po przecinku ma być losowa?

B9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
0

Tak

rotatimrod
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 60
1
Kopiuj

const number = (Math.random() * 10000000).toFixed(3) ;

document.write(number);

Marcin Osmolak-Rogaluk
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
1

Dodał bym jescze te funkcje
floor(), ceil() i round()

Math.floor(number);
document.write(number);
Math.ceil(number);
document.write(number);
Math.round(number);
document.write(number);

rotatimrod
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 60
1
Marcin Osmolak-Rogaluk napisał(a):

Dodał bym jescze te funkcje
floor(), ceil() i round()

Math.floor(number);
document.write(number);
Math.ceil(number);
document.write(number);
Math.round(number);
document.write(number);

Nie zapominaj Math na początku :P

Kopiuj

document.write(Math.floor(number));
document.write(Math.ceil(number));
document.write(Math.round(number));

B9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
0

Niby wszystko fajnie liczbę mam ale jak dodaję kod:
Math.floor(number);
document.write(number);
Math.ceil(number);
document.write(number);
Math.round(number);
document.write(number);
to wszystko mam w jednej linni i dodanie " <b.r> " psuje cały kod że nic mi się nie wyświetla
Ma ktoś jakiś pomysł jak to ogarnąć?

rotatimrod
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 60
1

Lepiej zrób dodaj jeszcze 1 bo inaczej czasami wyskoczy liczba sześciocyfrowa.

Kopiuj

const number = ((Math.random() + 1) * 10000000).toFixed(3);

rotatimrod
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 60
0
barteuse99 napisał(a):

Niby wszystko fajnie liczbę mam ale jak dodaję kod:
Math.floor(number);
document.write(number);
Math.ceil(number);
document.write(number);
Math.round(number);
document.write(number);
to wszystko mam w jednej linni i dodanie " <b.r> " psuje cały kod że nic mi się nie wyświetla
Ma ktoś jakiś pomysł jak to ogarnąć?

Kopiuj

Math.floor(number);
document.write(number + "<br>");
Math.ceil(number);
document.write(number + "<br>");
Math.round(number);
document.write(number + "<br>");

B9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
0

Wielkie dzięki zapomniałem o +.
I od razu mam pytanie czy te wszystkie liczby powinny być takie same?

rotatimrod
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 60
0
barteuse99 napisał(a):

Wielkie dzięki zapomniałem o +.
I od razu mam pytanie czy te wszystkie liczby powinny być takie same?

Nie, zrób to tak:

Kopiuj

number2 = Math.floor(number);
number3 = Math.ceil(number);
number4 = Math.round(number)


document.write(number2 + "<br>");
document.write(number3 + "<br>");
document.write(number4 + "<br>");

B9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
0

Wszystko działa. Wielkie dzięki

rotatimrod
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 60
0
barteuse99 napisał(a):

Wszystko działa. Wielkie dzięki

Nie ma za co. Może ci się przydać co te metody właściwie robią:

round - zaokrągla zwyczajnie czyli do 2.49 zwraca 2 a od 2.5 zwraca 3
ceil - zawsze zaokrągla do góry czyli nawet 2.01 zwróci 3
floor - zaokrągla w dół czyli nawet 2.99 zwróci 2

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.