問題タブ [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.

0 投票する
0 に答える
1889 参照

java - BigDecimal の Java 数学関数

重複の可能性:
Java BigDecimal 三角関数メソッド

java.lang.Mathの機能を十分に活用するために使用される補完的な数学関数はありBigDecimalますか? 言い換えると、 を受け取って返すログ関数があるのBigDecimalと同じように、 を受け取って返すログ関数はありますdoubleか?

0 投票する
3 に答える
20604 参照

oracle - Oracle ハイバネート シーケンス ジェネレーターの問題

Oracle 11g、Java(struts2)、および Hibernate を使用してアプリケーションを開発しています。

NUMBER(22,0) 型の列 mytemp_id を持つ mytemp という名前のテーブルがあります。

私のmytemp.hbm.xmlファイルIDでは、以下のとおりです

私のOracleデータベースでは、「MYTEMP_TEMP_ID_SEQ」という名前のシーケンスが作成され、Oracleで正常に動作しています。

休止状態を使用してレコードを挿入しようとすると、次のエラーが表示されます

org.hibernate.id.IdentifierGenerationException: この ID ジェネレーターは long、integer、short、または string を生成します

私のシーケンスは Number を返すので、hibenate はそれを BigDecimal と見なし、hibernate のシーケンス ジェネレーター クラスは long、integer、short、および string のみの値を考慮しているようです。

Hibernate は BigDecimal で問題を起こすべきではありません。しかし、シーケンスジェネレーターに BigDecimal を実装していないと思います

問題の解決を手伝ってくれる人はいますか?

ありがとう。

0 投票する
6 に答える
65754 参照

java - Java BigDecimal は小数と末尾の数字を削除します

私はJavaが初めてで、BigDecimal(99999999.99など)を取得して文字列に変換しようとしていますが、小数点以下の桁数と末尾の数字はありません。また、数字にコンマを入れたくないので、丸めは必要ありません。

私はもう試した:

ただし、BigDecimal はサポートされていません。

何か案は?

どうもありがとう。

0 投票する
1 に答える
2476 参照

scala - Scala BigDecimal 除算

scala の除算演算子はどのような用途に使用されBigDecimalますか?

これを機能させるにDECIMAL128は、小数のコンテキストを定義する必要があります。残念ながら、これを行う唯一の方法は次のとおりです。

しかし、これはただの混乱です!何か不足していますか?

0 投票する
2 に答える
997 参照

scala - ScalaのBigDecimalはequals/hashCodeコントラクトに違反していますか?

Ordered trait要求に応じて、ScalaのクラスのメソッドequalsBigDecimal順序と一致しています。ただし、ハッシュコードはラップされたものから取得されるだけなjava.math.BigDecimalので、equalsとは矛盾します。

これが既知の問題であるという言及は見つかりません。私は何かが足りないのですか?

0 投票する
9 に答える
121570 参照

java - BigDecimal を使用して通貨を操作する

long を使用して独自の通貨クラスを作成しようとしていましたが、BigDecimal代わりに使用する必要があるようです。誰かが私が始めるのを手伝ってくれますか? ドル通貨に sを使用する最良の方法は何でしょうかBigDecimal。たとえば、セントの場合は少なくとも小数点以下 2 桁までにするなどです。APIBigDecimalは巨大で、どのメソッドを使用すればよいかわかりません。また、 のBigDecimal方が精度は良いのですが、 を通過するとそれがすべて失われてしまうのではないdoubleでしょうか? newBigDecimal(24.99)を使用すると、a を使用する場合とどう違うのdoubleでしょうか? Stringまたは、代わりにa を使用するコンストラクターを使用する必要がありますか?

0 投票する
2 に答える
388 参照

java - Java - BigDecimal が多すぎますか?

詳細については、こちらの他の質問を参照してください。とにかく、アプリケーションで通貨を表すために BigDecimals を使用しています (マークダウン パーセンテージが差し引かれ、消費税が追加されます) が、価格に BigDecimal を使用する場合は、すべて BigDecimals である必要があるようです。マークダウン パーセンテージ フィールド (フロートではなく) に BigDecimal を使用し、PST および GST 定数 (売上税、0.08 & 0.05) に BigDecimal を使用しても問題ありませんか? ああ、また、マークダウンフィールドをパーセンテージまたは小数で保存する必要があると思いますか? いずれにせよ、p / 100 = dを表示するため、表示のためにそれを他のものに変換する必要があります。そして、小計は税抜きの総費用を意味しますよね?

ありがとう!!

0 投票する
7 に答える
12253 参照

java - BigDecimal を使用すると、アプリケーションのパフォーマンスにどのような影響がありますか?

BigDecimal を使用して、価格や金額などの任意の精度の数値を、毎秒数千の注文と約定レポートを持つ低レイテンシーの取引アプリケーションで表現したいと考えています。

それらに対して多くの数学演算を行うつもりはないので、問題は BigDecimal 自体のパフォーマンスではなく、BigDecimal オブジェクトのボリュームがアプリケーションのパフォーマンスにどの程度影響するかです。

私の懸念は、大量の短期間の BigDecimal オブジェクトが GC に負担をかけ、CMS コレクターで Stop-The-World の一時停止が大きくなるということです。これは間違いなく避けたいことです。

私の懸念を確認し、BigD を使用する代わりの方法を提案していただけますか? また、私の懸念が間違っていると思われる場合は、その理由を説明してください。

更新

答えてくれてありがとう。BigDecimal を使用すると、アプリケーションのレイテンシーが損なわれることがわかりました (まだ測定する予定ではありますが)。

当分の間、「非常に非 OOP」のソリューションを使用することにしました (ただし、精度への影響はありません) - 2 つintの を使用します。1 つは仮数用で、もう 1 つは指数用です。この背後にある理論的根拠は、プリミティブがヒープではなくスタックに配置されるため、ガベージ コレクションの対象にならないことです。

0 投票する
2 に答える
905 参照

java - Analog of StringBuilder for BigDecimal

I've got a list of BigDecimals to sum. If they were Strings to concatenate, I would use StringBuilder to reduce object creation. Is there something similar for BigDecimal? Or maybe I shouldn't bother about it? Is optimization of BigDecimal creation worth putting effort to it?