String 문자열을 받아 bigDecimal 타입으로 반환.
JavaScript에서 10^22 이상인 정수와 10^(-7) 이하인 소수는 지수 형태로 강제 치환되고 15자리 이하의 소수점은 자동으로 버려짐.
이를 보완하기 위해 String 문자열을 받아 bigDecimal 타입으로 반환하는 기능을 제공.
WebSquare.bigDecimal.calc는 String 문자열 연산식을 받아 bigDecimal 연산을 수행.
bigDecimal을 사용하려면 config.xml 파일의 engine 노드에 <module src="externalJS/big/big.min.js"/> 설정해야 함.
Type
- engine
Property Summary
Event Summary
Method Summary
- ( bigStr )
- String 문자열을 받아 bigDecimal 타입으로 반환합니다.
- calc( str )
- String 문자열 연산식을 받아 bigDecimal 연산을 수행합니다
- compare( data , type )
- type이 true 인 경우, 입력받은 bigDecimal과 비교하여 더 작은 수를 반환한다.
- divide( bigDecimal )
- bigDecimal 타입의 데이터를 나누는 함수
- minus( bigDecimal )
- bigDecimal 타입의 데이터를 빼는 함수
- mod( bigDecimal )
- bigDecimal 타입의 데이터를 mod하는 함수
- plus( bigDecimal )
- bigDecimal 타입의 데이터를 더하는 함수
- pow( bigDecimal )
- bigDecimal 타입의 데이터를 제곱하는 함수
- times( bigDecimal )
- bigDecimal 타입의 데이터를 곱하는 함수
Property Detail
Event Detail
Method Detail
- ( bigStr )
-
String 문자열을 받아 bigDecimal 타입으로 반환합니다.
number 형식을 직접적으로 넣으면 안됩니다. 반드시 String 문자열로 인자를 전달하여야 합니다.Parameter name type required description bigStr String Y 숫자를 문자열로 표현한 데이터 Return type description Object bigDecimal 타입 데이터 Samplevar a = WebSquare.bigDecimal("123456789012345678901234567890"); //a : 30자리 숫자 bigDecimal 데이터 var b = WebSquare.bigDecimal(123456789012345678901234567890); //잘못된 인자 전달. 반드시 문자열로 넘겨야 합니다. - calc( str )
-
String 문자열 연산식을 받아 bigDecimal 연산을 수행합니다.
Parameter name type required description str String Y 문자열 연산식 Return type description Object 연산결과를 bidDecimal로 반환한다. Sample(예제1) var a = WebSquare.bigDecimal("123456789012345678901234567890"); var b = WebSquare.bigDecimal("111111111111111111111111111111"); var c = WebSquare.bigDecimal("678901234567890123456789012345"); var d = WebSquare.bigDecimal("345678934567893456789345678934"); var ret = WebSquare.bigDecimal.calc("a + b c + (d - a) / (c + d)"); input1.setValue(ret); //연산결과가 input1에 올바르게 표현된다. (예제2) var a = WebSquare.bigDecimal("1234"); var b = 3000; var ret = WebSquare.bigDecimal.calc ("a+b*b-b/(a+b)"); // Number + bigDecimal 연산도 가능함. 단 Number는 17자리 이하여야 함. (예제3) var a = "abcd"; // NaN var b = WebSquare.bigDecimal("200"); var ret = WebSquare.bigDecimal.calc("a + b"); input2.setValue(ret); // 연산결과는 NaN 데이터를 나타내는 bigDecimal 타입. 숫자 타입이 아닌 데이터와 연산하면 전부 NaN이 된다. - compare( data , type )
-
type이 true 인 경우, 입력받은 bigDecimal과 비교하여 더 작은 수를 반환한다.
type이 false 이거나 undifined 인 경우, 입력받은 bigDecimal과 비교하여 더 큰 수를 반환한다.Parameter name type required description data Object Y 비교 대상 bigDecimal 데이터 type Boolean N 비교 방법 (true - 큰 수 반환, false - 작은 수 반환) Return type description Object type에 따라 비교한 값들중 더 큰 수, 더 작은 수의 bigDecimal값을 반환한다. Sample// 최대값 구하기 var a = WebSquare.bigDecimal("111111111111111111111111111111"); var b = WebSquare.bigDecimal("11111"); var result = a.compare(b); var result = a.compare(b,false); var result = a.compare(b,0); result = WebSquare.bigDecimal("111111111111111111111111111111"); // 최소값 구하기 var a = WebSquare.bigDecimal("111111111111111111111111111111"); var b = WebSquare.bigDecimal("11111"); var result = a.compare(b,true); var result = a.compare(b,1); result = WebSquare.bigDecimal("11111"); - divide( bigDecimal )
-
bigDecimal 타입의 데이터를 나누는 함수
Parameter name type required description bigDecimal Object Y 나눗셈을 수행할 bigDecimal 데이터 Return type description Object 나눗셈을 수행한 bigDecimal타입의 결과값 Samplevar a = WebSquare.bigDecimal("111111111111111"); var b = WebSquare.bigDecimal("222222222222222"); var c = WebSquare.bigDecimal("0"); var result = a.divide(b); var result2 = a.divide(c); //0으로 나눌경우 NaN을 표현하는 bigDecimal 데이터를 반환합니다. - minus( bigDecimal )
-
bigDecimal 타입의 데이터를 빼는 함수
Parameter name type required description bigDecimal Object Y 뺄셈을 수행할 bigDecimal 데이터 Return type description Object 뺄셈을 수행한 bigDecimal타입의 결과값 Samplevar a = WebSquare.bigDecimal("111111111111111"); var b = WebSquare.bigDecimal("222222222222222"); var result = a.minus(b); - mod( bigDecimal )
-
bigDecimal 타입의 데이터를 mod하는 함수
Parameter name type required description bigDecimal Object Y mod를 수행할 bigDecimal 데이터 Return type description Object mod를 수행한 bigDecimal타입의 결과값 Samplevar a = WebSquare.bigDecimal("111111111111111111111111111111"); var b = WebSquare.bigDecimal("11111"); var result = a.mod(b); - plus( bigDecimal )
-
bigDecimal 타입의 데이터를 더하는 함수
Parameter name type required description bigDecimal Object Y 덧셈을 수행할 bigDecimal 데이터 Return type description Object 덧셈을 수행한 bigDecimal타입의 결과값 Samplevar a = WebSquare.bigDecimal("111111111111111"); var b = WebSquare.bigDecimal("222222222222222"); var result = a.plus(b); - pow( bigDecimal )
-
bigDecimal 타입의 데이터를 제곱하는 함수
Parameter name type required description bigDecimal Object Y 제곱을 수행할 bigDecimal 데이터 Return type description Object 제곱을 수행한 bigDecimal타입의 결과값 Samplevar a = WebSquare.bigDecimal("11111"); var b = WebSquare.bigDecimal("5"); var result = a.pow(b); // 단, 높은 수의 제곱은 수행하는 시간이 오래걸립니다. - times( bigDecimal )
-
bigDecimal 타입의 데이터를 곱하는 함수
Parameter name type required description bigDecimal Object Y 곱셈을 수행할 bigDecimal 데이터 Return type description Object 곱셈을 수행한 bigDecimal타입의 결과값 Samplevar a = WebSquare.bigDecimal("111111111111111"); var b = WebSquare.bigDecimal("222222222222222"); var result = a.times(b);