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

わんくま同盟

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

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


■85967 / )  Re[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)

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


管理者用

- Child Tree -