C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■85967 / 4階層)  指数表記された文字列の数値変換方法について
□投稿者/ たかじ (7回)-(2017/12/06(Wed) 10:14:15)
No85915 (魔界の仮面弁士 さん) に返信

解決方法のご提案までありがとうございます。

Deveel.Math.BigDecimalを初めて知ったので、
サンプルを作成しながら利用可能か試しているのですが、気になる点があります。
もしご存知でしたら教えていただけないでしょうか。

・BigDecimalの演算はAdd、Subtract、Multiply、Divideのメソッドを使用しないとだめなのでしょうか?
 下記の結果だと、Subtractを使用すると指数表記無しで、*だと指数表記なのも気になります。
・指数表記の値をToXXで変換するとエラーが発生するのですが、回避策などありますでしょか?

Deveel.Math.BigDecimal b1 = 300;
Deveel.Math.BigDecimal b2 = 10000000;
Deveel.Math.BigDecimal b3 = b1 * b2;
Deveel.Math.BigDecimal b4 = b1.Multiply(b2);
Console.WriteLine("{0}", b1); // 300
Console.WriteLine("{0}", b2); // 10000000
Console.WriteLine("{0}", b3); // 3.00E+9
Console.WriteLine("{0}", (UInt32)b3); // 3000000000
Console.WriteLine("{0}", b4.ToDecimal()); // 3000000000
Console.WriteLine("{0}", (decimal)b3); // 3000000000
Console.WriteLine("{0}", b3.ToDecimal()); // 例外が発生(Negative exponent)

以上、よろしくお願いいたします。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[3]: 指数表記された文字列の数値変換方法について /魔界の仮面弁士 →Re[5]: 指数表記された文字列の数値変換方法について /魔界の仮面弁士
→Re[5]: 指数表記された文字列の数値変換方法について /Hongliang
 
上記関連ツリー

指数表記された文字列の数値変換方法について / たかじ (17/11/28(Tue) 17:28) #85832
Re[1]: 指数表記された文字列の数値変換方法について / WebSurfer (17/11/28(Tue) 18:07) #85833
Re[1]: 指数表記された文字列の数値変換方法について / 魔界の仮面弁士 (17/11/29(Wed) 09:42) #85853
  └ Re[2]: 指数表記された文字列の数値変換方法について / たかじ (17/11/30(Thu) 16:33) #85904 解決済み
    └ Re[3]: 指数表記された文字列の数値変換方法について / 魔界の仮面弁士 (17/12/01(Fri) 11:13) #85915 解決済み
      └ 指数表記された文字列の数値変換方法について / たかじ (17/12/06(Wed) 10:14) #85967 ←Now
        ├ Re[5]: 指数表記された文字列の数値変換方法について / 魔界の仮面弁士 (17/12/06(Wed) 13:31) #85971
        └ Re[5]: 指数表記された文字列の数値変換方法について / Hongliang (17/12/06(Wed) 11:59) #85970
          └ Re[6]: 指数表記された文字列の数値変換方法について / 魔界の仮面弁士 (17/12/06(Wed) 14:16) #85972
            └ Re[7]: 指数表記された文字列の数値変換方法について / たかじ (17/12/07(Thu) 19:00) #85999 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信