2013-10-23 5 views
-1

추가를 사용하여 데이터를 계산 중입니다. iam을 계산할 때 잘못된 출력이 발생합니다.자바 스크립트에서 추가가 잘못된 데이터 또는 Nan을 제공합니다.

AS6의 출력을 듣고 싶습니다. 출력 값은 7.81입니다. 그러나 잘못된 값 또는 Nan 값을 얻고 있습니다. 내가 잘못한 곳에서 도와주세요.

+0

시도이다)? 개별 변수'ab'를'ar'을 통해 출력하면 어떻게됩니까? 그러면 문제를 정확히 파악할 수 있습니다. – Floris

+0

안녕하세요, 그것은 빈 데이터를 제공하고 있습니다 – Navyah

답변

1

우선 parseInt ('')는 NaN이므로 NaN을 얻는 이유입니다. 당신으로 parseInt를 수행 할 때 그것은 단지 정수 값이 아닙니다 분수 부분을 반환하기 때문에

또한, 나는 당신이 올바른 결과를

AS6 = parseFloat(ab) + parseFloat(ac) + ......... 

를 사용한다고 생각합니다. 그래서 모두 함께 추가 한 후에는 float가 아닌 Integer 만 얻게됩니다. Integer에 parseFloat를 사용하면 정수 만 반환합니다.

그래서 NaN이를 방지하고

AS6 = Number(ab) + Number(ac) + ......... 

는 정확한 결과를 얻기 위해 같은으로 parseInt 당신이 마지막으로 할 수 있습니다. Number ('')가 0 일 때 NaN에 대해 더 이상 걱정할 필요가 없습니다.

참고 : 정수가있을 경우 수 ('10 .11 ')는 이렇게 반올림 (정수 나누기를 얻을 것이다, 또한 ... 오히려 문자열을 사용하는 것보다 숫자를 포함 할 변수에 대한 숫자 값을 사용하는 10.11

0

parseInt('')NaNNaN + n (n은 임의의 정수임)도 NaN입니다.

+0

그래서 아래 코드에 대한 최상의 해결책이 될 것입니다 – Navyah

+0

@Floris 언급했듯이, 문자열을 사용하여 시작하지 마십시오. 그냥 숫자와 'null'을 사용하십시오; – adamb

관련 문제