GnuSmalltalkUsersGuide:BaseChapter 144
- ScaledDecimal
ScaledDecimal
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: Number
범주: 언어-데이터 타입
- ScaledDecimal은 소수를 정확하게 표현할 수 있는 고정 소수점 10진 수의 수치 표현을 제공한다. 이것은 소수점 전후의 자릿수와 상관없이 무한의 정밀도를 지원한다.
ScaledDecimal class: 인스턴스 생성
newFromNumber: aNumber scale: scale
scale번째 자릿수까지 유효한 것으로 간주되는 10진 표현으로 소수를 나타내는 ScaledDecimal의 새 인스턴스를 응답하라.
ScaledDecimal: 산술
* aNumber
두 개의 숫자를 곱하여 결과를 응답하라.
+ aNumber
두 숫자를 합하여 결과를 응답하라.
- aNumber
수신자로부터 aNumber를 제하여 결과를 응답하라.
/ aNumber
두 숫자를 나누어 결과를 응답하라.
// aNumber
수신자를 aNumber로 나누고 음의 무한대에서 자른(truncation) 후 정수 몫을 응답하라.
\\ aNumber
수신자를 aNumber로 정수 나눗셈을 실행하고 음의 무한대에서 자른(truncation) 후 나머지를 응답하라.
ScaledDecimal: 강제 유형 변환
asCNumber
수신자를 C call-out 메커니즘이 이해하는 유형의 숫자로 변환하라.
asFloatD
FloatD로 변환된 수신자를 응답하라.
asFloatE
FloatE로 변환된 수신자를 응답하라.
asFloatQ
FloatQ로 변환된 수신자를 응답하라.
asFraction
Fraction으로 변환된 수신자를 응답하라.
ceiling
Integer로 변환되고 양의 무한대에서 자른 수신자를 응답하라.
coerce: aNumber
수신자와 같은 scale을 이용해 ScaledDecimal로 변환된 aNumber를 응답하라.
fractionPart
수신자의 소수부를 응답하라..
generality
수신자의 범용성(generality)을 리턴하라.
integerPart
수신자의 소수부를 응답하라..
truncated
Integer로 변환되고 음의 무한대에서 자른 수신자를 응답하라.
ScaledDecimal: 비교하기
< aNumber
수신자가 arg보다 작은지를 응답하라. .
<= aNumber
수신자가 arg보다 작거나 같은지를 응답하라. .
= arg
수신자가 arg와 같은지를 응답하라. .
> aNumber
수신자가 arg보다 큰지를 응답하라. .
>= aNumber
수신자가 arg보다 크거나 같은지를 응답하라. .
hash
수신자에 대한 해시값을 응답하라..
~= arg
수신자가 arg와 같지 않은지를 응답하라.
ScaledDecimal: 상수
one
1에 대한 수신자의 표현을 응답하라.
zero
0에 대한 수신자의 표현을 응답하라.
ScaledDecimal: 인쇄하기
displayOn: aStream
사용자를 목적으로 한 수신자의 표현을 aStream 상에 인쇄하라. 이런 특별한 사례에서 #printString의 'scale' 부분은 내보내지지(emit) 않는다.
printOn: aStream
수신자의 표현을 aStream 상에 인쇄하라..
ScaledDecimal: 보관하기
isLiteralObject
수신자가 스몰토크 리터럴로서 표현 가능한지 응답하라.
storeLiteralOn: aStream
수신자로 컴파일하는 일부 스몰토크 코드를 aStream 상에 보관하라.
storeOn: aStream
수신자로 컴파일하는 스몰토크 코드를 aStream 상에 인쇄하라.