問題タブ [bigdecimal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - javaでbigdecimalを文字列に変換できません
ここにJavaコードがあります
c は配列リストです。DB からこのフィールドを入力します。
"USAGETYPE" NUMBER(*,0)
、
次のエラーが表示されます
助けてくれませんか
java - JavaでBigDecimalの分数パワーを実行するにはどうすればよいですか?
Math.pow(7777.66, 5555.44)
私の小さなプロジェクトでは、非常に大きな数だけで何かをする必要があります。私はいくつかの解決策に出くわしました:
- 使用
double
-しかし、数字が大きすぎます BigDecimal.pow
分数のサポートは使用しますが、サポートしませんX^(A+B)=X^A*X^B
数式(B
2番目の数値の余り)を使用しますが、まだdoubleに変換するため、bigX
またはbigはサポートされません。A
- ある種のテイラー級数アルゴリズムまたはそのようなものを使用してください-私は数学があまり得意ではないので、解決策(いくつかのライブラリまたはの式)が見つからない場合は、これが私の最後のオプションです
(A+B)^(C+D)
。
誰かが図書館や簡単な解決策を知っていますか?多くの人が同じ問題に取り組んでいると思いました...
psおおよそそれを行うと主張するApFloatと呼ばれるライブラリを見つけましたが、私が得た結果は非常に近似的であり8^2
、私にさえ与えました60
...
java - Double からの BigDecimal の値が正しくありませんか?
文字列から BigDecimal を作成しようとしています。理由は聞かないでください。ただ必要なだけです。これは私のコードです:
これは私が得る出力ですか?
何か案は?
java - 安全な文字列から BigDecimal への変換
文字列からいくつかの BigDecimal 値を読み取ろうとしています。「1,000,000,000.999999999999999」という文字列があり、そこから BigDecimal を取得したいとします。それを行う方法は何ですか?
まず、文字列の置換 (コンマの置換など) を使用したソリューションが好きではありません。私のためにその仕事をするためのきちんとしたフォーマッタが必要だと思います。
DecimalFormatter クラスを見つけましたが、double を介して動作するため、膨大な量の精度が失われます。
それで、どうすればいいですか?
java - BigDecimalからSQLNUMBER:精度よりも大きい値をチェックします
私のアプリでは、数値をBigDecimalとして処理し、NUMBER(15,5)として格納します。ここで、BigDecimal値が列に適合するかどうかをJavaで適切にチェックする必要があります。これにより、SQLを実行したり、例外をキャッチしたり、ベンダーのエラーコードを確認したりせずに、適切なエラーメッセージを生成できます。私のデータベースはOracle10.3であり、そのようなエラーはエラー1438を引き起こします。
少しグーグルした後、そのようなコードが見つからなかったので、自分でコードを思いついた。しかし、私はこのコードに本当に満足していません...単純ですが、同時にその正しさを疑うほど単純です。私はそれを多くの値、ランダムな値、境界でテストしましたが、うまくいくようです。しかし、私は数字が本当に苦手なので、もっと堅牢で十分にテストされたコードが欲しいです。
編集:最近のテストでは、スケール外の数値の例外は発生せず、静かに丸められました。これらの最初のテストを行ったときとそうでないときの違いはわかりません。アプリケーションは財務的であり、丸め/切り捨ては明示的である必要があるため(BigDecimalメソッドを使用)、このような丸めは受け入れられません。例外はさておき、このテスト方法では、有効数字以外の桁であっても、必要な精度に対して数値が大きすぎないことを確認する必要があります。明確化が遅れてすみません。
御時間ありがとうございます。
私はまだこの質問に興味があります。私のコードはまだ実行されており、正当性や失敗の状況の「証拠」、またはこの種のテストの標準コードがありません。
だから、私はそれに賞金をかけています、うまくいけばこれらのいずれかを手に入れます。
ruby - Ruby BigDecimalはプレーンな浮動小数点数を生成しますか?
Rubyのバージョンを1.9.2に切り替えたところ、Ruby1.8でBigDecimalコードが機能しなくなりました。これが何が起こったかを示すテストコードです
Rubyのインストールに問題がありますか?そうでなければ、Ruby 1.9でも、上記のテストコードは機能するはずですが、ここで何が起こっているのでしょうか。
java - BigDecimal setScale と round
この 2 つの呼び出しの違いは何ですか? (ありますか?)
java - BigDecimal( "5.50")がBigDecimal( "5.5")と等しくない理由と、この問題を回避する方法を教えてください。
実際、私は可能な解決策を見つけました
もちろん、Math.abs (v1 - v2) < EPS
比較をより堅牢にするなどの方法で改善することもできますが、問題は、この手法が受け入れられるかどうか、またはより良い解決策があるかどうかです。
Java設計者がBigDecimalのequalsをそのように実装することを決定した理由を誰かが知っているなら、読むのは興味深いでしょう。
java - BigDecimal を使用した小数点以下の最大桁数
BigDecimal
Javaの値の小数点以下の最大桁数は何桁ですか?