as : "a" value to string;
bs : "b" value to string;
al : "a" string length (integer);
bl : "b" string length (integer)
ad : "a" decimal point (integer);
bd : "b" decimal point (integer);
au :
gold "a" upper value (string→integer);
bu : "b" upper value (string→integer);
ab : "a" below value (string→integer);
bb : "b" below value (string→integer);
ap : "a" # of places of decimal (integer);
bp : "b" # of places of decimal (integer);
0.303과 0.0303은 다른 수이므로 자리수가 다름을 표시할 용도
ru : result upper value (integer);
rb : result below value (integer)
소수점이 발견되는 자리 번호가 ad이므로 ad+1번에 해당되는 자리부터 끝까지 표기.
유효성 검사. long(integer)가 unsigned였으면 19자리였는데, unsigned가 아니므로 922경까지 가능한 공간에서 18자리로 잘라내기.