https://www.vevb.com/article/154898.htm
아래에서는 두 가지 소수점 구현 방법을 유지하기 위해 JavaScript의 구현 방법을 소개합니다.
반올림
다음 처리 결과는 네 가지가됩니다.
var = 2.446242342;
4 개의 중력 항목이 없습니다
다음 가공의 결과는 4 개의 주택을 가지지 않습니다.
첫 번째는 먼저 소수점 가장자리 정수를 가져옵니다.
Math.floor (15.7784514000 * 100) / 100 // 출력 결과는 15.77입니다.
두 번째 유형은 정기적 인 매칭을 사용하여 문자열로 사용됩니다.
숫자 (15.7784514000.tstring (). match (/^/d+(? : /./ d {0,2})?/) // 출력 결과는 15.77이고 정수는 10.0000으로 작성할 수 없습니다.참고 : 음수 인 경우 계산하기 전에 양수로 변환하고 마지막으로 음수로 돌아갑니다.
JavaScript는 두 가지 소수점 숫자의 예를 유지합니다.
<script type = "text/javaScript"> // 소수점 숫자 2 개를 보유합니다. // 함수 : 4 개의 주택과 5 개의 주택 사이에 부동 지점을 넣고 소수점을 가져간 후 2 개의 비션 함수 Todecimal (x) {var f = parsefloat (x); if (isnan (f)) {return;} f = math.round (x*100) //} // 2와 같은 2 개의 소수점이 있습니다. 2 후 2.00 기능 todecimal2 (x) {var f = parsefloat (iSNAN (f)) {return false;} var f = math.round (x*100); tostring (); var rs = s.indexof ( '.') {rs = s.length; += '0';} return s;} 함수 fomatfloat (src, pos) {return math.round (src*math.pow (10, pos))/math.pow (10, pos);} // 4 개의 힌드 및 Wutong ( "2 십진제를 유지하십시오 : + Todecimal ( + todecimal (3.14159267); 경보 ("만다린 예약 2 소수점 숫자 : " + todecimal2 (3.14159267); Alert ("예비 2 소수점 : + todecimal (3.14559267); ( "필수 2 자리 :" + Todecimalal 2 (2 (2 (3.15159267)); Alert ( "예약 2 소수점 숫자 : + Fomatfloat (3.14559267, 2)); Alert ("예비 1 자리 : + fomatfloat (3.15159267, 1)); // 두 가지 소수점 : " + 1000.003.tofixed (2)); 경고 ("예약 1 자리 : + 1000.08.tofixed (1)); 경고 (예약 1). " + 1000.05.tofixed (1)); ) ;; 3. 3. 3. ; toprecision (2);예를 들어 22.13으로 22.13을 사용하면 JavaScript를 사용하십시오.
1. 소수 부분을 버리고 정수 부분을 유지하십시오.
parseint (5/2)
2. 위로 올라가서 정수 부분에 소수점을 추가하여 1을 추가하십시오.
수학 (5/2)
3, 4 집, 5 명이 들어갑니다.
Math.Round (5/2)
4, 쓰러집니다
수학 플로어 (5/2)
대체 방법
1. 가장 어리석은 방법
다음과 같이 코드 코드를 복사하십시오.
함수 get ()
{{
var s = 22.127456 + "" ";
var str = s.substring (0, s.indexof ( ".") + 3);
경고 (str);
}
2. 정규 표현의 좋은 표현
다음과 같이 코드 코드를 복사하십시오.
<script type = "text/javaScript">
onload = function () {
var a = "23.456322";
var anew;
var re = /( #+9 /.9> 2}) **) -2 :
ANEW = A.Replace (RE, "$ 1");
경고 (신선);
}
</스크립트>
3. 그는 더 똑똑하다 ...
다음과 같이 코드 코드를 복사하십시오.
<cript>
var num = 22.127456;
경고 (Math.Round (Num*100)/100);
</스크립트>
4. 신선한 물건을 사용할 친구들 ...하지만 그것을 지원하려면 ie5.5+가 필요합니다.
5. JS는 2 진수 (필수)를 유지합니다.
2 비트보다 큰 소수점의 경우 위의 기능은 양호하지만 : Changetwodecimal (3.1)과 같이 2 비트 미만인 경우 3.1의 형식이 필요하면 다음 기능이 필요합니다. :
다음과 같이 코드 코드를 복사하십시오.
함수 changetwodecimal_f (x) {
var f_x = parsefloat (x);
if (isnan (f_x)) {
alert ( 'function : changetwodecimal-> parameter e error');
거짓을 반환합니다.
}
var f_x = math.round (x * 100) / 100;
var s_x = f_x.tostring ();
var pos_decimal = s_x.indexof ( '.');
if (pos_decimal <0) {
pos_decimal = s_x.length;
s_x += '.';
}
while (s_x.length <= pos_decimal + 2) {{
s_x += '0';
}
반환 s_x;
}
기능 : 부동 소수점을 놓고 소수점 후에 2 자리를 타고 4 개의 집과 5 개의 집을 가십시오.
이 함수는 문자열의 형식 사용을 반환합니다.