PropertyEventMethod찾아보기
WebSquare.bigDecimal - 5.0_4.4373A.20210331.093729

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
nametyperequireddescription
bigStrStringY숫자를 문자열로 표현한 데이터
Return
typedescription
ObjectbigDecimal 타입 데이터
Sample
var a = WebSquare.bigDecimal("123456789012345678901234567890"); //a : 30자리 숫자 bigDecimal 데이터 var b = WebSquare.bigDecimal(123456789012345678901234567890); //잘못된 인자 전달. 반드시 문자열로 넘겨야 합니다.
calc( str )
String 문자열 연산식을 받아 bigDecimal 연산을 수행합니다.
Parameter
nametyperequireddescription
strStringY문자열 연산식
Return
typedescription
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
nametyperequireddescription
dataObjectY비교 대상 bigDecimal 데이터
typeBooleanN비교 방법 (true - 큰 수 반환, false - 작은 수 반환)
Return
typedescription
Objecttype에 따라 비교한 값들중 더 큰 수, 더 작은 수의 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
nametyperequireddescription
bigDecimalObjectY나눗셈을 수행할 bigDecimal 데이터
Return
typedescription
Object나눗셈을 수행한 bigDecimal타입의 결과값
Sample
var 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
nametyperequireddescription
bigDecimalObjectY뺄셈을 수행할 bigDecimal 데이터
Return
typedescription
Object뺄셈을 수행한 bigDecimal타입의 결과값
Sample
var a = WebSquare.bigDecimal("111111111111111"); var b = WebSquare.bigDecimal("222222222222222"); var result = a.minus(b);
mod( bigDecimal )
bigDecimal 타입의 데이터를 mod하는 함수
Parameter
nametyperequireddescription
bigDecimalObjectYmod를 수행할 bigDecimal 데이터
Return
typedescription
Objectmod를 수행한 bigDecimal타입의 결과값
Sample
var a = WebSquare.bigDecimal("111111111111111111111111111111"); var b = WebSquare.bigDecimal("11111"); var result = a.mod(b);
plus( bigDecimal )
bigDecimal 타입의 데이터를 더하는 함수
Parameter
nametyperequireddescription
bigDecimalObjectY덧셈을 수행할 bigDecimal 데이터
Return
typedescription
Object덧셈을 수행한 bigDecimal타입의 결과값
Sample
var a = WebSquare.bigDecimal("111111111111111"); var b = WebSquare.bigDecimal("222222222222222"); var result = a.plus(b);
pow( bigDecimal )
bigDecimal 타입의 데이터를 제곱하는 함수
Parameter
nametyperequireddescription
bigDecimalObjectY제곱을 수행할 bigDecimal 데이터
Return
typedescription
Object제곱을 수행한 bigDecimal타입의 결과값
Sample
var a = WebSquare.bigDecimal("11111"); var b = WebSquare.bigDecimal("5"); var result = a.pow(b); // 단, 높은 수의 제곱은 수행하는 시간이 오래걸립니다.
times( bigDecimal )
bigDecimal 타입의 데이터를 곱하는 함수
Parameter
nametyperequireddescription
bigDecimalObjectY곱셈을 수행할 bigDecimal 데이터
Return
typedescription
Object곱셈을 수행한 bigDecimal타입의 결과값
Sample
var a = WebSquare.bigDecimal("111111111111111"); var b = WebSquare.bigDecimal("222222222222222"); var result = a.times(b);