매개 변수의 숫자 유형에 따라 다르게 동작하는 함수를 작성했습니다. 정수 또는 실수. 플로트 그때 난 당신이 그 번호를 사용하여 함수를 호출하는 경우 자바 스크립트가 이유없이 1
에 1.0
캐스트의 경우 우연히 여부하지만 경우가 쉬웠다이 질문에 How do I check that a number is float or integer?에서 몇 가지 코드를 사용Javascript는 부동 소수점 숫자를 정수없이 정수로 변환합니다.
감지합니다.
예 :
출력 크롬, 파이어 폭스, 즉, 오페라와 사파리는 모두 같은 결과를 준function dump(a, b) {
console.log(a, typeof b, b);
}
dump('1', 1);
dump('1.0', 1.0);
dump('1.1', 1.1);
:
1 number 1
1.0 number 1 "wrong"
1.1 number 1.1
내가 자바 스크립트는 유형 number
을 알고 있지만 강제 캐스트가 보인다 알을 선외로 나가기. 내가 생각해 낸 유일한 해결책은 '1.0'
과 같은 문자열 값을 사용하여 함수를 호출하고 점을 감지하여 parseFloat
또는 parseInt
을 사용하는 것입니다.
이에 대한 제안이 있으십니까?
가 왜 1.0''필요합니까 부동의 정수입니까? 그것들은 같은 가치입니다. JavaScript에는'int' 또는'float'의 개념이 없으며 단지 숫자입니다. –
작성한 기능이란 무엇입니까? 'int' 또는'float'이라면 왜 중요합니까? –
이 함수는 난수를 반환합니다. 초기 값에 따라 4,10 => 7 (int) 또는 1.5, 12 => 4.25가 될 수 있습니다. – naden