Curl Global Community
BigDecimalでループしてしまう - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: BigDecimalでループしてしまう (/showthread.php?tid=406)



BigDecimalでループしてしまう - でり - 02-10-2012

http://developers.curlap.com/faq/48-faq-specification/496-bigdecimal.html[/url]
 
BigDecimal使用時にループが発生してしまいます。
 
(一例)
let a:BigDecimal = "13119107.3693184179"
let b:BigDecimal = "202982856.3840000000"
let c:BigDecimal = {a.divide b}
 
上記の通り標準APIではありませんが、原因がお解りになる方はいらっしゃいませんでしょうか?
 


RE: BigDecimalでループしてしまう - でり - 02-14-2012

http://developers.curlap.com/faq/48-faq-specification/496-bigdecimal.html

今朝アクセスしようとした所、何故か上記ページが404になっていたので、Googleのキャッシュから取得した画面キャプチャと、上記ページで公開されていたサンプルソースを本コメントに添付致します。



RE: BigDecimalでループしてしまう - Curlsupport - 02-15-2012

ご報告いただきましてありがとうございます。
頂いた情報より現象を確認することができました。

ご指摘のFAQについてですが、
当サンプルに問題があり、また、提供サンプルのCurlバージョンが古く現時点では未サポートのバージョンであったため、DeveloperCenter内FAQ(BigDecimalについて)を修正させて頂きました。

WSDKのコードを利用して以下のようにすることで解決できます。

Code:
{curl 8.0 applet}
{curl-file-attributes character-encoding = "shift-jis"}
{applet manifest = "manifest.mcurl",
{compiler-directives careful? = true}
}

{import * from COM.CURL.UTIL.BIGNUM}

{value
let a:BigDecimal = "13119107.3693184179"
let b:BigDecimal = "202982856.3840000000"
let c:BigDecimal = {a.divide b}

{VBox
{a.to-String}
,{b.to-String}
,{c.to-String}
}
}


尚、CurlのVer.8より、標準APIにてDecimal型を利用することが可能になりました。
詳細はDeveloperCenter内にてご案内しております。

Ver.8の新機能を紹介しているページもございますので併せてご確認いただければ幸いにございます。

よろしくお願い致します。


RE: BigDecimalでループしてしまう - でり - 02-15-2012

>Curlsupport様

ご対応頂きありがとうございます。
修正頂いたFAQからWSDKをダウンロードしてみたのですが、こちらはCurl Ver.6.0以上でなければ使用できないのでしょうか?
(予め記載しておりませんでしたが、当方の環境はVer.5.0となります…)

よろしくお願い致します。


RE: BigDecimalでループしてしまう - Curlsupport - 02-15-2012

申し訳ございませんが、Ver5.0には対応いたしておりません。

ですが、WSDKはオープンソースとして提供していますので
ApacheLicense2.0に基づき、Ver.5.0に変更及び対応の上
ご利用いただくことが可能です。

よろしくお願いします。



RE: BigDecimalでループしてしまう - でり - 02-15-2012

>Curlsupport様

了解です。WSDKの改変は敷居が高いので、当初のサンプルを改変することで対応しようと思います。
(サンプルを弄ってみた所、ループを回避する方法が見つかりました)