2016-08-01 3 views
1

일부 입력을 자동 완성하는 자바 스크립트가 있습니다. 내 코드를 반올림하지 않고 입력을 자동으로 변경하고 자동으로 추가하지만 Math.round 또는 반올림을 추가하려고 시도하지만 소수는 반올림하지만 반올림하지 않습니다. 이 같은 일부 또는 addEventListener 변경은 입력을 자동 완성하지 않는 소수점을 반올림하는 몇 가지 코드를 추가자바 스크립트 parseInt 구문 분석 및 반올림 소수점

taxes.value = parseInt(parseFloat(totaltopay.value) * (1.00/1.19)); 

코드를 작동

을 수행해야하는 경우 변경 사항은 자동 완성하지 않습니다

taxes.value = parseInt(parseFloat(Math.round(totaltopay.value) * (1.00/1.19))); 

이 결과를 반올림하고 작동 시키려면 어떤 방법이든지 사용할 수 있습니까?

그것은 추적해야

:

taxes = 23123.764345645 라운드를 쉼표

편집없이 점없이 23124 만 보여

입력 수량 입력 수량 * 입력 판매 가격과 함께 지불 할 총 변경 이 totaltopay 입력 우리가 세금을 얻을 금액을 받아, 그것을 반올림하지 않고 작동하지만 addEventListener 작동을 멈추려 고 노력하고 ... 당신은 세금도 판매 가격을 변경하면 autofilles 이해할 수있는 것처럼 또는 수량 때문에 taltopay 변경 및 그래서 세금

+0

귀하의 의견은 무엇이며 그 결과로 무엇을 기대합니까? – Sergio

+0

당신은'parseInt'가 필요합니다. –

+0

'Math.round ((totaltopay.value) * (1.00/1.19)); ' –

답변

0

숫자를 반올림하고 정수 값을 반환 Math.round() 사용해야합니다. * (곱하기) 또는 / (나누기)을 적용하는 동안 값은 자동으로 Number로 파싱되므로 하드 코딩 된 메서드를 파싱 할 필요가 없습니다.

taxes.value = Math.round(totaltopay.value * 1.00/1.19); 
+0

parserInt가없고 parseFloat가 없습니까?나는 그것을 시도해 줄 것이다 – Nokelekele

+0

@Nokelekele 추가 할 경우에는주의해야한다. 왜냐하면'+'또한 연결을 의미하기 때문이다. –

+1

많은 도움을 주셔서 감사합니다. – Nokelekele

3

그래서, 가지 유의해야 할 사항은 다음과 같습니다

  • parseInt() 정수를 작성합니다. 문자열 또는 숫자를 지정하면 소수점이없는 숫자 이 표시됩니다. 참고 : parseInt는 아마 기수 10 사용하려면, 기수가 있습니다 parseInt(yourString, 10);
  • parseFloat()이 문자열을 사용하고 소수의 경우
  • Math.round() 숫자 (*)를 필요로 숫자를 반환하고 반올림 정수를 반환

    taxes.value = Math.round(Number(totaltopay.value) * 1.00/1.19); 
    
    : 가장 가까운 정수
  • Number() 소수점의 경우
  • 그래서

, 당신이 필요로하는 것은 유지, 문자열 (또는 번호)를 받아 숫자로 변환

(*) - Math.round 문자열과 함께 작동하지만 MDN's docs say: give it a number