> 웹 프론트엔드 > JS 튜토리얼 > 정확한 계산 및 숫자 형식에 대한 js 파일과 js 파일_javascript 기술에 대한 직접 참조

정확한 계산 및 숫자 형식에 대한 js 파일과 js 파일_javascript 기술에 대한 직접 참조

WBOY
풀어 주다: 2016-05-16 17:01:59
원래의
950명이 탐색했습니다.
코드 복사 코드는 다음과 같습니다.

(function () {
var calc = {
/*
정확한 덧셈 결과를 얻기 위해 사용되는 함수, 덧셈 함수
참고: JavaScript의 덧셈 결과에는 오류가 있습니다. , 두 개의 부동 소수점 숫자를 더할 때 더 명확해집니다.
매개변수: arg1: 첫 번째 addend; arg2 d는 유지될 소수점 이하 자릿수입니다. 매개변수를 전달할 필요가 없으며, 그렇지 않으면 소수 자릿수가 처리되지 않습니다.)
호출: Calc.Add(arg1,arg2,d)
반환 값: 두 숫자를 더한 결과
* /
추가: function (arg1, arg2,d) {
arg1 = arg1.toString(), arg2 = arg2.toString()
var arg1Arr = arg1.split("."), arg2Arr = arg2 .split("."), d1 = arg1Arr.length == 2 ? arg1Arr[1] : "", d2 = arg2Arr.length == 2 ? arg2Arr[1] : ""; Math.max(d1.length, d2.length);
var m = Math.pow(10, maxLen)
var result = Number(((arg1 * m arg2 * m) / m). (maxLen ));
var d = 인수[2];
return typeof d === "number" ? Number((result).toFixed(d)) : 결과; >/ *
함수: 정확한 뺄셈 결과를 얻는 데 사용되는 함수
매개변수: arg1: 첫 번째 가수 arg2; 유지할 소수 자릿수 (이 매개 변수를 전달할 수 없으며, 그렇지 않으면 소수 자릿수가 처리되지 않습니다.
Call: Calc.Sub(arg1,arg2)
반환 값: 빼기 결과 두 개의 숫자
*/
Sub: function (arg1, arg2) {
return Calc.Add(arg1, -Number(arg2), 인수[2])
},
/ *
함수 : 정확한 곱셈 결과를 얻기 위해 사용되는 곱셈 함수
설명 : 보다 정확한 곱셈 결과를 반환하는 함수입니다.
매개변수: arg1: 첫 번째 승수; arg2 두 번째 승수; d에 유지할 소수점 이하 자릿수(이 매개변수를 전달할 수 없으며 그렇지 않은 경우 소수점 이하 자릿수가 처리되지 않습니다.) 호출: Calc .Mul(arg1,arg2)
반환 값: 두 숫자를 곱한 결과
*/
Mul: function (arg1, arg2) {
var r1 = arg1.toString() , r2 = arg2.toString(), m, resultVal, d = 인수[2];
m = (r1.split(".")[1] ? r1.split(".")[1]. 길이 : 0 ) (r2.split(".")[1] ? r2.split(".")[1].length : 0)
resultVal = Number(r1.replace(".", " ")) * Number(r2.replace(".", "")) / Math.pow(10, m);
return typeof d !== "number" ? Number(resultVal) : Number(resultVal. toFixed(parseInt (d)));
},
/*
함수: 정확한 나눗셈 결과를 얻기 위해 사용되는 나눗셈 함수
설명: 이 함수는 보다 정확한 나눗셈 결과를 반환합니다.
매개변수: arg1: divisor; arg2 피제수; d에 유지할 소수 자릿수(이 매개변수를 전달할 수 없으며, 그렇지 않으면 소수 자릿수가 처리되지 않습니다.)
Call: Calc. Div(arg1,arg2)
반환 값: arg1을 arg2로 나눈 결과
*/
Div: function (arg1, arg2) {
var r1 = arg1.toString(), r2 = arg2.toString(), m, resultVal, d = 인수[2];
m = (r2.split(".")[1] ? r2.split(".")[1].length : 0 ) - (r1.split(".")[1] ? r1.split(".")[1].length : 0)
resultVal = Number(r1.replace(".", "") ) / Number(r2.replace( ".", "")) * Math.pow(10, m);
return typeof d !== "number" ? Number(resultVal) : Number(resultVal.toFixed( parseInt(d)));
},
/*
값을 반올림하고 형식을 지정합니다.
@param num 값(숫자 또는 문자열)
@param 센트 소수점 이하 자릿수를 유지합니다. (숫자)
@param isThousand 천분의 일 숫자가 필요한지 여부 0: 필요하지 않음, 1: 필수(숫자 유형)
@return 형식 문자열, 예: '1,234,567.45'
@type String
호출: Calc.FormatNumber(num, cent,isThousand)
*/
FormatNumber: 함수 formatNumber(num,cent,isThousand){
num = num.toString().replace(/$|,/g, '');
if(isNaN(num))//입력 값이 숫자 유형인지 확인하세요.
num = "0"
if(isNaN(cent))// 들어오는 소수점 자리는 숫자 값입니다.
cent = 0;
cent =parseInt(cent);
cent = Math.abs(cent);//소수점 자리수를 찾아 일치하는지 확인하세요. 양의 정수.
if(isNaN(isThousand) )//전달된 천 번째 자리가 숫자 유형인지 확인하세요.
isThousand = 0
isThousand = parsInt(isThousand)
(isThousand < 0)
isThousand = 0;
if(isThousand >=1) //전달된 값이 0 또는 1인지 확인하세요.
isThousand = 1; num == (num = Math.abs(num))); //부호(양수/음수) 가져오기
//Math.floor: 숫자 매개변수보다 작거나 같은 가장 큰 정수를 반환합니다
num = Math.floor(num*Math.pow(10,cent) 0.50000000001);/ / 먼저 지정된 소수 자릿수를 정수로 변환합니다.
cents = num%Math.pow(10, cent); //소수점 값을 찾습니다.
num = Math.floor( num/Math.pow(10,cent)).toString();//정수 자리 값을 찾습니다.
cents. = cents.toString();//십진수를 문자열로 변환하여 십진수의 길이를 구합니다.
while(cents.lengthcents = "0" 센트;
}
if(isThousand == 0) // 1000번째 자리 문자는 필요하지 않습니다.
return (((sign)?'':'-') num '.' 센트);
//1000번째 자리에서 정수 부분의 형식을 지정합니다.
for (var i = 0; i < Math.floor((num.length-(1 i))/3 ); i )
num = num.substring(0,num.length-(4*i 3) ) ','
num.substring(num.length-(4*i 3))
return (((sign)?'':'-') num '.' 센트)
}
}
window.Calc =
}()); >
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿