Curl Global Community

Full Version: BigDecimalでループしてしまう
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
http://developers.curlap.com/faq/48-faq-....html[/url]
 
BigDecimal使用時にループが発生してしまいます。
 
(一例)
let a:BigDecimal = "13119107.3693184179"
let b:BigDecimal = "202982856.3840000000"
let c:BigDecimal = {a.divide b}
 
上記の通り標準APIではありませんが、原因がお解りになる方はいらっしゃいませんでしょうか?
 
http://developers.curlap.com/faq/48-faq-...cimal.html

今朝アクセスしようとした所、何故か上記ページが404になっていたので、Googleのキャッシュから取得した画面キャプチャと、上記ページで公開されていたサンプルソースを本コメントに添付致します。
ご報告いただきましてありがとうございます。
頂いた情報より現象を確認することができました。

ご指摘の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の新機能を紹介しているページもございますので併せてご確認いただければ幸いにございます。

よろしくお願い致します。
>Curlsupport様

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

よろしくお願い致します。
申し訳ございませんが、Ver5.0には対応いたしておりません。

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

よろしくお願いします。
>Curlsupport様

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