2017-06-12 6 views
-1

私は.netプロジェクトで作業し、数式表現パーサーが必要です。大きな数字を扱うC#数式表現パーサー

私はmXparserを使用しましたが、大きな10進数(16桁以上)では動作しないようです。例えば

、式の結果は2469123211254289589

なければならないが、私はそれは私に2469123211254280000を与え進数に変換するdecimal.parseを使用する場合には、2.46912321125428E+17を返します。

この問題を解決する別のパーサーがありますか? または この問題に対処する別の方法はありますか?

+0

「大きな整数」ライブラリを使用する必要があります。 –

+0

ありがとう@ジョナトン。例えば図書館の名前を教えてください。 –

+0

[quad library](https://quadruple.codeplex.com/SourceControl/latest#Quadruple/Quadruple/Quad.cs)と[expression parser](https://msdn.microsoft.com)を組み合わせなければならない場合があります。 /en-us/magazine/mt573716.aspx)をご覧ください。私が知っているパーサは 'double'型の結果を使用しています。 –

答えて

1

整数を扱ってうれしい場合は、BigIntegerを使用してこれらの操作を実行できるはずです。

理論的な上限または下限はありません。その番号を格納するメモリが不足している場合を除き、問題はないはずです。

関連する問題