2016-10-05 2 views
-2

난수 생성기를 만들기 위해 localStorage을 사용하려고합니다.난수 생성 이상한 출력

이유는 모르겠지만 내 코드가 작동하지 않습니다. 나는 모든 것을 시도했지만 계속 혼란스러워합니다.

localStorage.setItem("MaxInputValue_Storage",10); 
localStorage.setItem("MinInputValue_Storage",5); 


function Random_Number_Generation(Max,Min) { 
    console.log(Min); 
    console.log(Max); 
    var Random_Number = Math.floor(Math.random() * ((Max - Min) + 1) + Min); 
    console.log(Random_Number); 
}; 

Random_Number_Generation(localStorage.getItem("MaxInputValue_Storage"),localStorage.getItem("MinInputValue_Storage")); 

일 뭐죠 : 여기

내 코드?

편집 : 나는 5-10에서 값을 얻을 것으로 예상,하지만 난 5

+5

"이상한 출력"을 공유 할 수 있습니까? –

+1

그것은 임의의 문제 또는 로컬 스토리지 문제입니까? –

+5

'Max'와'Min'은 문자열입니다 – Andreas

답변

0

로컬 스토리지 값은 문자열 형식에 0-에서 값을 얻을, + 연산자는 연결 연산자로 사용할 경우, 피연산자의 문자열입니다. Must.random() (Max-Min) + 1)은 4.941의 경우 4.941에 대해 Number를 반환하므로 4.9415가 4.9415가되므로 의 코드에서의 'Min'이 localStorage의 '5'인 경우 0에서 4 사이의 값을 얻는 것입니다. 원하는 결과를 얻을 수 있도록 parseInt를 사용하여 해당 문자열 값을 Number로 변환합니다.

var Random_Number = Math.floor(Math.random() * ((Max - Min) + 1) + parseInt(Min));