問題タブ [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 - BigDecimal の Java 数学関数
重複の可能性:
Java BigDecimal 三角関数メソッド
java.lang.Math
の機能を十分に活用するために使用される補完的な数学関数はありBigDecimal
ますか? 言い換えると、 を受け取って返すログ関数があるのBigDecimal
と同じように、 を受け取って返すログ関数はありますdouble
か?
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 を実装していないと思います
問題の解決を手伝ってくれる人はいますか?
ありがとう。
java - Java BigDecimal は小数と末尾の数字を削除します
私はJavaが初めてで、BigDecimal(99999999.99など)を取得して文字列に変換しようとしていますが、小数点以下の桁数と末尾の数字はありません。また、数字にコンマを入れたくないので、丸めは必要ありません。
私はもう試した:
ただし、BigDecimal はサポートされていません。
何か案は?
どうもありがとう。
scala - Scala BigDecimal 除算
scala の除算演算子はどのような用途に使用されBigDecimal
ますか?
これを機能させるにDECIMAL128
は、小数のコンテキストを定義する必要があります。残念ながら、これを行う唯一の方法は次のとおりです。
しかし、これはただの混乱です!何か不足していますか?
scala - ScalaのBigDecimalはequals/hashCodeコントラクトに違反していますか?
Ordered
trait
要求に応じて、Scalaのクラスのメソッドequals
はBigDecimal
順序と一致しています。ただし、ハッシュコードはラップされたものから取得されるだけなjava.math.BigDecimal
ので、equalsとは矛盾します。
これが既知の問題であるという言及は見つかりません。私は何かが足りないのですか?
java - BigDecimal を使用して通貨を操作する
long を使用して独自の通貨クラスを作成しようとしていましたが、BigDecimal
代わりに使用する必要があるようです。誰かが私が始めるのを手伝ってくれますか? ドル通貨に sを使用する最良の方法は何でしょうかBigDecimal
。たとえば、セントの場合は少なくとも小数点以下 2 桁までにするなどです。APIBigDecimal
は巨大で、どのメソッドを使用すればよいかわかりません。また、 のBigDecimal
方が精度は良いのですが、 を通過するとそれがすべて失われてしまうのではないdouble
でしょうか? newBigDecimal(24.99)
を使用すると、a を使用する場合とどう違うのdouble
でしょうか? String
または、代わりにa を使用するコンストラクターを使用する必要がありますか?
java - Java - BigDecimal が多すぎますか?
詳細については、こちらの他の質問を参照してください。とにかく、アプリケーションで通貨を表すために BigDecimals を使用しています (マークダウン パーセンテージが差し引かれ、消費税が追加されます) が、価格に BigDecimal を使用する場合は、すべて BigDecimals である必要があるようです。マークダウン パーセンテージ フィールド (フロートではなく) に BigDecimal を使用し、PST および GST 定数 (売上税、0.08 & 0.05) に BigDecimal を使用しても問題ありませんか? ああ、また、マークダウンフィールドをパーセンテージまたは小数で保存する必要があると思いますか? いずれにせよ、p / 100 = dを表示するため、表示のためにそれを他のものに変換する必要があります。そして、小計は税抜きの総費用を意味しますよね?
ありがとう!!
java - BigDecimal を使用すると、アプリケーションのパフォーマンスにどのような影響がありますか?
BigDecimal を使用して、価格や金額などの任意の精度の数値を、毎秒数千の注文と約定レポートを持つ低レイテンシーの取引アプリケーションで表現したいと考えています。
それらに対して多くの数学演算を行うつもりはないので、問題は BigDecimal 自体のパフォーマンスではなく、BigDecimal オブジェクトのボリュームがアプリケーションのパフォーマンスにどの程度影響するかです。
私の懸念は、大量の短期間の BigDecimal オブジェクトが GC に負担をかけ、CMS コレクターで Stop-The-World の一時停止が大きくなるということです。これは間違いなく避けたいことです。
私の懸念を確認し、BigD を使用する代わりの方法を提案していただけますか? また、私の懸念が間違っていると思われる場合は、その理由を説明してください。
更新:
答えてくれてありがとう。BigDecimal を使用すると、アプリケーションのレイテンシーが損なわれることがわかりました (まだ測定する予定ではありますが)。
当分の間、「非常に非 OOP」のソリューションを使用することにしました (ただし、精度への影響はありません) - 2 つint
の を使用します。1 つは仮数用で、もう 1 つは指数用です。この背後にある理論的根拠は、プリミティブがヒープではなくスタックに配置されるため、ガベージ コレクションの対象にならないことです。
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?