많아야 2 라운드 소수점 (필요한 경우에만)
39; d like to i& 많아야 2 라운드 소수점 있지만, 필요한 경우에 한해 .
입력:
10
1.7777777
9.1
출력:
10
1.78
9.1
이 JavaScript 에서 어떻게 합니까?
2465
71
입력:
10
1.7777777
9.1
출력:
10
1.78
9.1
이 JavaScript 에서 어떻게 합니까?
마스트로런드 사용하여 '100' (num * 100) /
값이 텍스트 형식:
값이 숫자인 경우:
그러나 그 같은 값을 1.5 부여하느뇨 1.50" " 있습니다;; 같은 출력입니다. 수정 제안한 @minitech:
더 좋은 것 같다 '는' 마스트로런드 솔루션이므로 라운드 제대로 안 된다! 경우에 따라서는 아니다.
예를 들면 다음과 같다:
내 생각엔 이 같은 일이 실제로 부동 소수점 1.55499994 behind the scenes 1.555 있기 때문이다.
https://plnkr.co/edit/uau8BlS1cqbvWPCHJeOy? p = 미리봅니다
사용할 수 있습니다.
이 과정을 매든 에서 찾았다. 그 길을 피할 수 있던 문제가 1.005 [언급한] [2].
[2]: https://stackoverflow.com/questions/11832914/round-up-to-2-decimal-places-in-javascript # comment24719818_11832950
39 의 markg& 정확한 답이 하나. # 39 의 모든 일반 here& 확장자임 자릿수입니다.
사용법:
유닛 테스트:
콩지름에:
아무도 유의해야 할 것 '누마베리엔실론'.
또한 it& # 39 의 가치가 있는 어떤 사람들은 JavaScript 불확실성 같은 것은 아니다 밝혔다.
여기 따라오렴 '누마베리엔실론'. 그 수가 차이가 존재하는 배정도 부동 소수점 숫자 1 과 다음 번호. That& # 39 에 있다. '1' 과 1 사이의 숫자 '+' 누마베리엔실론 제공합니다. 꾨т 臾몄젣媛?
39 의 구체화합니다 let& 정보를 묻는 것처럼, 한 가지는: '가치' 는 경우에만 누마베리엔실론 관련 추가 라운드가 수 있기 때문에 일부 부동 소수점 연산 작업을 한 결과, 그것이 오류 주장했다.
39 의 it& 않을 때 유용한 가치를 직접 가져온 소스 (예: ipv6-literal., 사용자 입력 또는 센서).
39 와 같은 일부 민족 %s/dbase/ext_table. @maganap abc. 아웃하거나 it& 가장 먼저 '누마베리엔실론' 의 추가 되고.
(노엄브로프데키말플라시스) '한' 네스토피스트 사용할 수 있습니다.
'고려해보십시오 네스토피스트 ()' 와 '오토 프레시시온 ()'.
http://www.javascriptkit.com/javatutors/formatnumber.shtml
이 질문은 복잡하다. 예를 들어, 함수, 우리는 (숫자) ',' roundTo2DP 부동 소수점 값을 소수점 2 로 처리하는 인수로 및 되돌려줍니다 라운드된. 이러한 각 표현식에서는 평가하십시오 어떻게 해야 합니다.
39, & # 39 는 obvious&. 답을 할 수 있는 사례 1 라운드 0.01 (# 39 에 가까운 것 때문에 it& 0.01 0.02) 하는 동안 다른 2 라운드 0.02 (같도다라고 0.0150000000000000001) 는 가까운 0.02 보다는 0.01 데다 0.015 것은 바로 이런 이유가 있고, 이들 사이의 중간 수학적 규칙을 숫자임 프레젠테이션이든 반올림).
이번에 '막' 가능성이 있는 것은 있을 수 있고 그 답을 줄 수 있기 때문에 모든 구현될 수 없는 roundTo2DP 같은 3 개의 숫자 명백하네 전달할 수 있다. IEEE 754 이진 부동 소수점 숫자 (JavaScript 를 사용하는 사람이었는가부텀) can& 나타내는 숫자, 즉 모든 3 개의 숫자 리터럴, t # 39 위에 라운드된 확보하십시오 비사양 정수 당근이지를 가장 가까운 유효함 실수. 이 때문에 문제가 발생할 수 있으며, 정확히 , 0.01499999999999999944488848768742172978818416595458984375 이는 0.01 더 가깝게 0.02. 모든 것을 볼 수 있습니다, JavaScript, 또는 다른 브라우저를 콘솔입니다 같은 emc. 세 숫자는 노드입니다 쉘로 통역을 했다고 한다. 그냥 비교해 볼: ,, > < pre> < code>. < b>;;;;;;; /b> < /i> < < i> 0.014999999999999999 = 0.0150000000000000001 true< /code> < /pre>;;;
사용 예시: ,, > < pre> < code>. ,, i> < b> < 로런드스트린근움베르비투스트라이링제로스 (1.6, 2), /i> < < /b>;;
39, & # 39 1.6&.
>. < b>;;;;; < < i> 로런드스트린근움베르비투스트라이링제로스 (10000mb, 2) < /i> /b>;
39, & # 39 10000&.
>. ,, i> < b> < 로런드스트린근움베르비투스트라이링제로스 (0.015, 2), /i> < < /b>;;
39, & # 39 0.02&.
>. ,, < b> < i> 로런드스트린근움베르비투스트라이링제로스 (& # 39, 0.015000& # 39, 2), /i> < < /b>;;
39, & # 39 0.02&.
>. (1, 1),,, b> < < i> 로런드스트린근움베르비투스트라이링제로스 < /i> < /b>;; 1& # 39, & # 39. >. ,, < b> < i> 로런드스트린근움베르비투스트라이링제로스 (& # 39, 0.015& # 39, 2), /i> < < /b>;;
39, & # 39 0.02&.
>. < b>;;;;; < < i> 로런드스트린근움베르비투스트라이링제로스 (0.01499999999999999944488848768742172978818416595458984375, 2) < /i> /b>;
39, & # 39 0.02&.
>. ,, < b> < i> 로런드스트린근움베르비투스트라이링제로스 (& # 39, 0.01499999999999999944488848768742172978818416595458984375& # 39, 2), /i> < < /b>;;
39, & # 39 0.01& < /code> < /pre>;;;;
이 함수는 아마도 위에 그리웠댔지 피하기 위해 사용할 수 있다는 보고도 판매업체에서 사용자가 입력한 반올림할 번호를 잘못. (이 대안으로 관련 검색어 [round10] (https://github.com/jhohlfeld/round10) 라이브러리 뒤늦게 partnernet 제공하는 기능이 없는 다른 구축상의.) 하지만 와일드링이 두 번째 종류의 수 있습니다 - 값을 연속 확장, 여기서 there& 빼앗아 # 39 의 소수점 표현을 더 많이 생각하고 더 적은 이유가 근사화하는 소수점 더욱 정확한 볼륨과는? 이 경우, 우리는 문자열 t , # 39 don& 매핑하려는 존중하십시오 표현 때문에 표현 (사양 설명에 따라) 는 이미 일종의 라운드된. # 39 라고 보고 싶지 않다, 우리는 don& 할 수 있는 반올림합니다 0.015 " 0. 014999999.375, 014999999.375) 을 0.02 도왔으매 0. 반올림합니다 위해 반올림합니다 0.02". 여기서는 간단히 사용할 수 있는 내장현 ['토피스트'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed) 메서드입니다. 참고로 '번호 ()' 를 통해 ',' 토피스트 호출하십시오 구체화하십시오 반환되었습니다 얻고 그 번호를 구체화하십시오 나타내줍니다 주님으로부터그에게 트레일링 제로는 (힘입어 문자열이어야 JavaScript 계산하는 방법으로 표현한 번호, 앞서 설명한 이 답).
정확한 둥글리기 메서드입니다. 출처: Mizilla
예를 들면 다음과 같다:
라운드 업 위해 사용.
다음은 간단한 방법은 do it.
이를 위한 별도의 기능을 할 수 있습니다 박으래도 저회가 당신꺼에요 표시되어도:
그런 다음 값 전달 됩니다.
임의의 두 번째 라운드 수를 높일 수 있는 자리로 redhat. 추가하기만 매개변수입니다.
마스트로런드 () 정답 확증하노라 가져다줄래요 않았다. 토피스트 (2) 내가 찾은 더욱 효과적입니다. 아래 예제일 모두:
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
끝 - < 스니핏 >;!
이 함수 f (x) '번호를 네스토피스트 (2), "'
이 시도하시겠습니까 경량 솔루션:
2017년 원시 코드 () '' 네스토피스트 됩니다
그냥 엄격하게 할 경우 필요한 경우 추가 굈 '자리' 사용할 수 있습니다.
그렇게 할 수 있는 방법을 몇 가지 방법이 있습니다. 그런 사람들을 위한, 나를 Lodash& # 39 의 변형
끝 - < 스니핏 >;!
Jquery 는 프로젝트의 경우, 또는 로다시 이벤트수정적절한 '차' 라이브러리보다는 방법을 찾을 수 있습니다.
1 # 업데이트하십시오
내가 재거됨 변형 (2) ',' 니컬러스토피스트 때문에 올바르지 않습니다. @Avalanche1 감사합니다.
로다시 라이브러리를 사용하는 경우, 다음과 같은 방법을 로다시 라운드하지 사용할 수 있습니다.
예:
라바만티스 마르크그 및 솔루션을 제공하는 것보다 훨씬 더 나은 방정식입니다 수락되었습니다. # 39, s, t # 39 don& it& 부끄러워요 그들은 더 많은 업보테스!
다음은 내가 문제를 해결할 수 있는 기능을 사용하여 부동 소수점 자리로 [또한 매든 기반으로] [1]. 일반 (간결하게 않은 것이 아닌 것이 훨씬 더 Lavamantis& # 39 의 솔루션:
이 기능을 사용하여:
39 에 비해 Lavamantis& 솔루션, we can do.
[1]: # Example:_Decimal_rounding https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/math/round
39, & # 39 proper& ES6 이후 있습니다. 길 (재정의을 정역학 및 작성 없이 해결 방법) 을 이렇게 flexlm*용 토프레시시온
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
끝 - < 스니핏 >;!
& # 39 는 그냥 '와' 페르세프로이트 사용되지 않는, 그런 다음 검색하기를 away& # 39;.
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
<! - 언어: > js 랭 -;
콘솔드로그 (페르세프로이트 (1.4999) 오토 프레시시온 (3))); 콘솔드로그 (페르세프로이트 (1.005) 오토 프레시시온 (3))); 콘솔드로그 (페르세프로이트 (1.0051) 오토 프레시시온 (3)));
끝 - < 스니핏 >;!