問題タブ [decimal]

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 投票する
5 に答える
4388 参照

java - 軽量 Java Decimal クラス

BigDecimal の 2 つの限られた精度の代替手段、つまり DecimalInt と DecimalLong を作成することを検討しています。これらは int と long の実際の範囲内で任意の小数点以下桁数の数値を処理でき、変更可能な形式と変更不可能な形式の両方で作成できます。私の計画は、DecimalInt を +/-999,999,999 か​​ら +/- 0.999999999 までサポートし、DecimalLong を同じように、ただし最大 18 桁までサポートすることです。

これは、スケーリングされた int または long として格納された実際の値とともに、DecimalInt の 0 ~ 9 および DecimalLong の 0 ~ 18 の 10 進数のカウント値を維持することによって行われます。通常は、通貨や株価などの少数の小数点以下の桁数 (通常は 2 ~ 4 桁) に使用されます。

必須要件は、(a) 無駄のないフットプリント (2 つのクラスと OverflowException)、および (b) すべての基本演算と意味のあるすべての Math の完全なサポートです。

結果をグーグルで検索しても、明らかなヒットは返されませんでした。それらはすべて、任意の小数に関連しているように見えました。

私の質問は次のとおりです。これはすでに行われていますか? これには、まだ実行されていない理由である隠れた微妙な点がありますか? Java が DotNet のような 10 進数型をサポートしているという噂を聞いたことがありますか。

編集:これは BigDecimal とは異なります。(a) int の配列を処理しない方がはるかに効率的であり、(b) BigInteger をラップしないため、メモリにも負担がかかりません。 (c) 変更可能なオプションがあるため、そこでも高速になります。要約すると、「BigDecimal のオーバーヘッドと double の不正確さなしに銀行残高を保存したい」などの単純なユース ケースのオーバーヘッドが少なくなります。

編集: 877.85 ではなく 1586.60-708.75=877.8499999999999 という古典的な問題を回避するために、int または long を使用してすべての計算を行うつもりです。

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

php - PHP で出力するデフォルトの小数点以下の桁数

私は、基本的な LAMP セットアップがある自宅の開発ボックスで PHP の作業を行っています。ホーム ボックスで自分の Web サイトを見ると、エコーする数値は必要最小限の精度に自動的に切り捨てられます。たとえば、2 は 2 としてエコーされ、2.2000 は 2.2 としてエコーされます。

製品ボックスでは、すべての数値に少なくとも 1 つの不要なゼロがエコーされます。たとえば、100 が 100.0 になります。どちらのボックスでも、PHP バージョンは 5.2.5 です。PHPに不要なゼロを自動的に削除させる設定を変更できるかどうかを誰かが知っていますか? 数値を出力して echo を printf などに置き換えるコード内のすべての場所に移動する必要はありません。

ムチャス・グラシアス。

0 投票する
4 に答える
34049 参照

vb.net - VB.NETで「10進数」を分割する

これは非常に単純な問題だと確信していますが、私はVB.NETを初めて使用するため、問題が発生しています。

変数がDecimalあり、それを2つの別々の変数に分割する必要があります。1つは整数部分を含み、もう1つは小数部分を含みます。

たとえば、x = 12.34の場合、最終的にay=12およびaz=0.34になります。

これを行うための優れた組み込み関数はありますか、それとも手動で試してみる必要がありますか?

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

c# - C#、演算子 '*' はタイプ 'double' および 'decimal' のオペランドに適用できません

このエラーは単純なはずですが、うまくいかないようです。問題は、このまったく同じコードがプログラムの早い段階で機能するという事実にあります。前の 4 つのインスタンスではなく、このインスタンスでエラーを送信する理由はわかりません。以下のコードを参照し、私がより良くなるはずなので、あなたが持っているかもしれない批判を自由に提供してください. 問題があれば、私は Sharp Develop 2.2 を使用しています。

動作するコードの例を次に示します。

この投稿の件名でエラーを送信するコードの例を次に示します。

私が得ることができる助けに感謝します。ありがとうございました。

0 投票する
10 に答える
25081 参照

c# - C# Decimal データ型のパフォーマンス

パフォーマンス (速度) が重要な金融アプリケーションを C# で作成しています。これは金融アプリであるため、Decimal データ型を集中的に使用する必要があります。

プロファイラーの助けを借りて、可能な限りコードを最適化しました。Decimal を使用する前は、すべてが Double データ型で行われており、速度は数倍高速でした。ただし、Double はバイナリの性質のためオプションではなく、複数の操作の過程で多くの精度エラーが発生します。

.NET のネイティブの Decimal データ型よりもパフォーマンスを向上させることができる、C# とやり取りできる 10 進ライブラリはありますか?

すでに得た回答に基づいて、十分に明確ではないことに気付いたので、ここにいくつかの追加の詳細を示します。

  • アプリは可能な限り高速である必要があります (つまり、Decimal の代わりに Double を使用したときと同じくらい高速になるのは夢のようです)。演算はハードウェア ベースであるため、Double は Decimal よりも約 15 倍高速でした。
  • ハードウェアはすでに一流で (私は Dual Xenon Quad-Core で実行しています)、アプリケーションはスレッドを使用するため、マシンの CPU 使用率は常に 100% です。さらに、アプリは 64 ビット モードで実行されているため、32 ビットよりもパフォーマンスが大幅に向上しています。
  • 私は正気のポイントを超えて最適化しました (1 か月半以上の最適化。信じられないかもしれませんが、最初に参照として使用したのと同じ計算を行うのにかかった時間の約 1/5000 かかります)。この最適化には、文字列処理、I/O、データベース アクセスとインデックス、メモリ、ループ、いくつかの処理方法の変更、さらにはあらゆる場所での "if" に対する "switch" の使用など、すべてが含まれていました。プロファイラーは、残りのパフォーマンスの原因が Decimal データ型演算子にあることを明確に示しています。かなりの時間を追加しているものは他にありません。
  • ここで私を信じてください。アプリケーションを最適化するために、C#.NET の領域でできる限りのことを行ってきました。現在のパフォーマンスには本当に驚かされます。Decimal のパフォーマンスを Double に近いものに改善するための良いアイデアを探しています。私はそれがただの夢であることを知っていますが、ただ確認したかったので、可能な限りすべてを考えました. :)

ありがとう!

0 投票する
4 に答える
10638 参照

sql-server - SQL Server 2005 varchar は小数に変換すると小数点以下の桁数が失われます

なんで?

0 投票する
11 に答える
83697 参照

sql - SQLで小数を使用してパーセンテージを計算するにはどうすればよいですか?

これをSQLで10進数に変換するにはどうすればよいですか? 以下は方程式で、答えは 78 (整数) になりますが、実際の答えは 78.6 (小数を含む) であるため、これを表示する必要があります。そうしないと、レポートが 100% に集計されません

0 投票する
5 に答える
31216 参照

c# - 小数を小数の累乗にしますか?

.net フレームワークは、Math クラスに double を強化するためのメソッドを提供します。しかし、精度要件により、10 進数を 10 乗する必要があります [ Pow(decimal a, decimal b) ]。フレームワークにはそのような機能がありますか?この種の機能を備えたライブラリを知っている人はいますか?

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

java - String.formatを使用したJavaの10進フォーマット?

小数の値を文字列にフォーマットする必要があり、常に少なくとも 2 桁、最大で 4 桁を表示します。

たとえば

これは String.format コマンドを使用して実行できますか?
または、Javaでこれを行うためのより簡単でより良い方法はありますか?

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

python - Pythonのランダムな10進数

decimal.Decimalランダムインスタンスを取得するにはどうすればよいですか?ランダムモジュールは、Decimalsに変換するためのピタであるfloatのみを返すようです。