Thread Rating:
  • 240 Vote(s) - 2.77 Average
  • 1
  • 2
  • 3
  • 4
  • 5
BigDecimalでループしてしまう
02-10-2012, 07:52 PM,
#1
BigDecimalでループしてしまう
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ではありませんが、原因がお解りになる方はいらっしゃいませんでしょうか?
 
Reply
02-14-2012, 03:33 PM,
#2
RE: BigDecimalでループしてしまう
http://developers.curlap.com/faq/48-faq-...cimal.html

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


Attached Files
.zip   bigDecimalSample.zip (Size: 6.94 KB / Downloads: 262)
.gif   cache.gif (Size: 103.62 KB / Downloads: 326)
Reply
02-15-2012, 11:22 AM, (This post was last modified: 02-15-2012, 11:23 AM by Curlsupport.)
#3
RE: BigDecimalでループしてしまう
ご報告いただきましてありがとうございます。
頂いた情報より現象を確認することができました。

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

よろしくお願い致します。
Reply
02-15-2012, 11:36 AM,
#4
RE: BigDecimalでループしてしまう
>Curlsupport様

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

よろしくお願い致します。
Reply
02-15-2012, 02:22 PM,
#5
RE: BigDecimalでループしてしまう
申し訳ございませんが、Ver5.0には対応いたしておりません。

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

よろしくお願いします。
Reply
02-15-2012, 02:32 PM,
#6
RE: BigDecimalでループしてしまう
>Curlsupport様

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

Forum Jump:


Users browsing this thread:
1 Guest(s)