Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Math.random помогите разобраться (https://javascript.ru/forum/misc/26755-math-random-pomogite-razobratsya.html)

realgleb 21.03.2012 10:10

Math.random помогите разобраться
 
Всем привет! Скажите вот у меня есть переменная var max = 73;
надо вывести случайные числа от 1 до 73
почему след код работает не верно?
Math.floor(Math.random()*max) ж

T-sh 21.03.2012 10:15

Math.floor(Math.random() * 73) + 1;

realgleb 21.03.2012 10:29

Спасибо большое дружище выручил))

скажи пожалуйста еще такой вопрос! У меня в папочки есть фото с именами 0001.jpg и так далее до 0073
мне надо выводить их random
var path_small = "{$smarty.const.LINK_IMAGES}photosmall/00";
pic = path_small+Math.floor(Math.random() * (max))+".jpg"


но он не показывает изображение когда попадаются такие 0001, потому что я в path_small явно указал /00
как сделать чтобы он и такой вариант выводил))

Kolyaj 21.03.2012 10:34

Например
function getRndFileName(maxNum) {
    return ((Math.floor(Math.random() * maxNum) + 1) / 10000).toFixed(4).slice(2) + '.jpg';
}

realgleb 21.03.2012 10:44

скажи а что означают toFixed и slice чтобы я под себя подогнал, так вариант впринципе норм!

melky 21.03.2012 10:45

function getRandWithNulls(min, max, number_length){
    var res = (Math.round(Math.random()*max) + min).toFixed(0);
    if(res.length < number_length) res = new Array(number_length - res.length + 1).join('0') + res;
    return res;
}



var i = 10, b = []; do b.push(  getRandWithNulls( 0, 73, 2 )   ); while( i-->0 );
alert( b.join('\n') );

realgleb 21.03.2012 10:46

а все спасибо в google нашел)) всем огромное спасибо очень помогли!

Ungern 18.10.2012 23:44

Math.random() JS
 
Проблема с Math.random() JS была вполне себе решена таким образом

devote 19.10.2012 00:11

Цитата:

Сообщение от Ungern
Проблема с Math.random() JS была вполне себе решена таким образом

это основы JS которые должен знать каждый прогер, и это не является проблемой.


Часовой пояс GMT +3, время: 23:42.