Bigdecimal

e$B86$G$9!#e(B

e$B>.NS$G$9!#e(B

e$B2DJQ7e?t1i;;Cf$Ne(B trancate e$BEy!J$HF1MM$J%a%=%C%I!K$r;HMQe(B
e$B$9$k>l9g$G!“La$j$,e(B Integer e$B$r4|BT$9$k%1!<%9$C$F$I$&$J$se(B
e$B$G$7$g$&$M!)!!:G=*7k2L$@$1$J$i$H$b$+$/!”$=$N7k2L$r;HMQe(B
e$B$7$F7W;;B39T$9$k$?$a$K$O85$KLa$5$J$/$A$c$$$1$J$$$7!#e(B
e$B%3%s%T%e!<%?%"!<%-%F%/%A%c!<$K?6$j2s$5$l$F$$$k$@$1$Ne(B
e$B$h$&$J5$$,$7$^$9!#e(B

trancate
e$B$H$/$l$P!“e(BIntegere$B$rJV$9$H4|BT$9$k?M$b7k9=$$$k$N$G$O$J$$$+$J$”!#e(B
Integere$B$K$OM}G0E*$J0U5A$,$"$k$s$G$9$h!#$?$H$($P!"e(B

1.3m e$B$N$R$b$+$ie(B 0.3m e$B$N$R$b$O2?K$H$l$k$G$7$g$&!)e(B

e$B$H$$$&LdBj$r9M$($k$H!"e(B1.3.div(0.3) e$B$Ge(B 4
e$BK$G$9$h$M!#$3$l$re(B 4.0 e$BK$HEz$(e(B
e$B$k$HJQ$J46$8$,$9$k!#e(B

BigDecimal e$B$Ne(B truncate e$B$NLa$jCM$re(B BigDecimal
e$B$N7W;;<0$NCf$K:FEjF~$9$k$He(B
e$B$9$k$H!"$?$7$+$KESCf$Ge(B Integer
e$B$K$J$C$F$7$^$&$N$O$&$C$H$*$7$$$G$9$,!"$=e(B
e$B$&$$$&Nc<+BNB?$/$J$$5$$,$7$^$9!#e(B

e$B%7%s%I%/$J$C$FMh$?e(B…

e$B$^$"$^$"!De(B(^^;

e$B>.NS$G$9!#e(B

----- Original Message -----
From: “Shin-ichiro HARA” [email protected]
Subject: [ruby-dev:33773] Re: bigdecimal

e$B86e(B> 1.3m e$B$N$R$b$+$ie(B 0.3m e$B$N$R$b$O2?K$H$l$k$G$7$g$&!)e(B
e$B86e(B> e$B$H$$$&LdBj$r9M$($k$H!"e(B1.3.div(0.3) e$B$Ge(B 4
e$BK$G$9$h$M!#$3$l$re(B 4.0 e$BK$HEz$(e(B
e$B86e(B> e$B$k$HJQ$J46$8$,$9$k!#e(B

e$BA0$Ke(B
e$B>.NSe(B> truncate
e$BEy$N7k2L$,$,e(BIntegere$B$H$$$&$N$O#2?Je(BFloate$B$NFC0[@-$+$ie(B
e$B>.NSe(B>
e$B$-$F$$$k$N$G$O!)!!J#?t%/%i%9$K$^$?$,$k$h$j!“K\Mh0l$D$N%/%i%9e(B
e$B>.NSe(B> e$BFb$GJD$8$F$$$?$[$&$,<+A3$H;W$$$^$9!#e(B
e$B$H$+e(B
e$B>.NSe(B> e$B%3%s%T%e!<%?%”!<%-%F%/%A%c!<$K?6$j2s$5$l$F$$$k$@$1$Ne(B
e$B>.NSe(B> e$B$h$&$J5$$,$7$^$9!#e(B
e$B$H$$$C$?=q$-9~$_$r$7$^$7$?$,!"$3$l$K$D$$$FJdB-$7$F2sEze(B
e$B$5$;$F$$$?$@$-$^$9!#e(B

e$B;d$OIaCJe(B Excel e$B$H$+e(B VB
e$B$r6n;H$7$F7W;;$r$9$k$3$H$,B?$$$;$$$+e(B
4.0e$BK$G$bA4$/5$$K$J$j$^$;$s!#e(B

e$B$3$N0c$$$rA[A|$9$k$K!V8=:_$N%3%s%T%e!<%?%“!<%-%F%/%A%c!<$Oe(B
e$B<B?t$NItJ,=89g$G$”$k@0?t$re(B int
e$B$K!“99$K!J@0?t$r4^$s$@!K<B?t$re(B
float e$B$K$H07$$$rJ,$1$F$7$^$C$?!W$3$H$K5/0x$7$F$$$k$H;W$$$^$9!#e(B
e$B8zN($d8B$i$l$?;q8;$+$iEvA3$H$$$($PEvA3$J$N$G$9$,!D!#e(B
e$B$7$+$7!”$3$l$,$“$?$+$b0[$J$k=89gBN$N$h$&$KJa$i$($i$l$,$A$Ke(B
e$B$J$C$F$7$^$C$?$N$G$O$J$$$G$7$g$&$+!)e(B
e$B<B:]!J3JG<7e?t$OJL$K$7$F!Ke(Bint e$B$He(B
floate$B!J$N@0?tItJ,=89g!Ke(B
e$B$O2D49$G$9$+$i!”$J$K$b%a%b%j!<$d%S%C%H%Q%?!<%sEy$r5$$K$;$:e(B
e$BI=8=$5$l$F$$$k?tCM$=$N$b$N$G9M$($l$PNI$$$H;W$C$F$$$^$9!#e(B

e$BNc$r$“$2$k$He(B
C(Ruby): 5/2=>2 5.0/2.0=>2.5
VB : 5/2=>2.5 5.0/2.0=>2.5 5\2=>2 5.0\2.0=>2
e$B$H$J$k$o$1$G$9!#e(B
Ce$B$G$O1i;;$N7k2L$r$I$A$i$N!V=89g!W$KB0$5$;$k$+G:$`$3$H$K$J$j$^$9!#e(B
e$B$=$7$F!”$=$N7k2L$O!VB0$7$F$$$k!W=89g!J$H1i;;;R!K$K0MB8$7$F$$$^$9!#e(B
e$B$+$?$de(B VB
e$B$OC1$J$k<B?t$+$i<B?t$X$N%^%C%T%s%0$G!"7k2L$O?tCM$G$Oe(B
e$B$J$/1i;;;R!J$N$!K$K0MB8$7$F$$$^$9!#e(B
e$B$=$N$?$a@0?t$N$
$K%^%C%T%s%0$5$;$k1i;;;Re(B \ e$B$,DI2C$5$l$^$9!#e(B
e$B$3$NE@$K4X$7$F!J$@$1!K;d$Oe(B VB e$B$r;Y;}$7$F$$$^$9!#e(B

e$B<B8=@-$rL5;k$7$?6KO@$r$$$o$;$F$b$i$($l$P!"?tCM%/%i%9e(B
e$B$OJ#AG?t$^$G$r%+%P!<$9$ke(B Numeric
e$B$N$_$G!"1i;;;R!J%a%=%C%I!K$@$1e(B
e$B$G<+M3$K!J@0?t$d<B?t$K!K%^%C%T%s%0$G$-$l$P40`z$G$7$g$&!#e(B
e$B!J%j%F%i%k$b%^%C%T%s%0$N0l<o$@$7!"B?J,FbItI=8=$Oe(BRationale$B!)!Ke(B

e$B$H$^$!!"C1$J$k;W$$9~$_$G$9!#e(BRuby e$BK\BN$KAH$_9~$^$l$k$J$i$Pe(B
e$BJL$+$b$7$l$^$;$s$,!"IUB0$N%i%$%V%i%j!<$K$^$G$3$l$[$I?FOB@-e(B
e$B$r5a$a$i$l$k$H$O@5D>;W$C$F$b$$$^$;$s$G$7$?!J%j%j!<%98e$K!K!#e(B
e$BB>$N%i%$%V%i%j!<$bF1MM$J$s$G$7$g$&$+$M!)e(B

e$B<!HG!J!)!K$G$Oe(B Rational e$B$de(B Complex
e$B$,K\BN$KAH$_9~$^$l$ke(B
e$B$h$&$J$N$G!"$3$N:]!“e(BBigDecimale$B!J$G$O$J$/$Fe(B Decimal
e$B$H$7$F!Ke(B
e$B$b:F@_7W$N>e!”;0E@%;%C%H$GK\BN$KAH$9~$s$@$i$I$&$G$7$g$&$+!)e(B
e$B$=$N>l9ge(B
e$B!!#1!%B>$+$i;}$C$F$/$k!#e(B
e$B!!#2!%8=:
$N$b$N$rN.MQ!J2~NI!)!K$9$k!#e(B
e$B$H$$$C$?$3$H$,9M$($i$l$^$9!#;d$,4X78$9$k$H$J$l$P#2!%$G$9$,!"e(B
e$B;DG0$J$,$i!"M>M5$,$J$$$N$G$;$$$<$$<ALd$KEz$($k!Je(Bor e$BL5;k!Ke(B
e$B!ue(B e$B86HG$N%P%0=$@5$/$i$$$7$+4sM?$G$-$J$$$H;W$o$l$^$9!#e(B
e$BEvA3$J$,$i8x3+$7$F=$@5!&:FG[I[$r5v2D$7$F$$$k$o$1$G$9$N$Ge(B
e$B8=>uHG$r$I$&MxMQ$9$k!J$7$J$$!K$+$K$D$$$F$O$*G$$;$7$^$9!#e(B

e$B$=$l$G$Oe(B

e$B86$G$9!#e(B

e$B>.NS$G$9!#e(B

e$B$3$N0c$$$rA[A|$9$k$K!V8=:_$N%3%s%T%e!<%?%"!<%-%F%/%A%c!<$Oe(B
e$B<B?t$NItJ,=89g$G$"$k@0?t$re(B int e$B$K!“99$K!J@0?t$r4^$s$@!K<B?t$re(B
float e$B$K$H07$$$rJ,$1$F$7$^$C$?!W$3$H$K5/0x$7$F$$$k$H;W$$$^$9!#e(B
e$B8zN($d8B$i$l$?;q8;$+$iEvA3$H$$$($PEvA3$J$N$G$9$,!D!#e(B
e$B$7$+$7!”$3$l$,$"$?$+$b0[$J$k=89gBN$N$h$&$KJa$i$($i$l$,$A$Ke(B
e$B$J$C$F$7$^$C$?$N$G$O$J$$$G$7$g$&$+!)e(B

e$B$=$N463P$O$o$+$j$^$9!#$=$l$OC/$b$,6&DL$K$3$l$@$H;W$($k$h$&$J!V<B?t!W$,e(B
e$B0l$D$"$C$F!“8=:_$N%3%s%T%e!<%?$O$=$l$rIT40A4$K$7$+I=8=$G$-$F$$$J$$!”$He(B
e$B$$$&$o$1$G$9$M!#e(B

e$B0lJ}!"!V<+A3?t!W$O5?$$$h$&$,$J$$$K$7$F$b!"!V<B?t!W$H$$$&$N$O?M9)E*$JAOe(B
e$BB$J*$@!#$7$?$,$C$F8=>u$O8=:_$N%3%s%T%e!<%?%"!<%-%F%/%A%c!<$N7g4Y$G$O$Je(B
e$B$/!"$b$&$A$g$C$HIaJWE*$J$H$3$m$K:,$C$3$,$"$k!"$@$+$i$=$&$=$&JQ$o$i$J$$!"e(B
e$B$H$$$&$N$,;d$N463P$G$9!#$A$g$C$H6KC<$+$J!#e(B

e$B8=>uHG$r$I$&MxMQ$9$k!J$7$J$$!K$+$K$D$$$F$O$*G$$;$7$^$9!#e(B
Complex e$B$rK\BN$KAH$_9~$`M=Dj$O:#$N$H$3$m$J$$$G$9!#$?$V$s!#e(B

BigDecimal e$B$OBgJQM-MQ$G!"$?$H$($Pe(B Rails
e$B;H$o$l$?$j$7$F!“8=:$N=EMW@-$Oe(B
e$BL@$i$+$G$9!#$7$+$7!"$h$je(B Ruby e$B$C$]$$%N%j$Ne(B “Decimal”
e$B$OM
$7$$$J$”!#e(B