問題タブ [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 投票する
7 に答える
16102 参照

java - Javaの負の整数から16進数への変換が失敗し、

与える

どうしたの?

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

c# - double と float が存在するのはなぜですか?

複製

小数点の代わりに倍精度を使用する必要があるのはいつですか?

.. などなど...

精度が高いため、アプリ全体で C# と SQL Server の decimal データ型を使用しています。合計が詳細に合わないなどのイライラする問題は一度もありませんでした.

double と float が不正確であることを考えると、なぜ存在するのか疑問に思っていました

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

c# - メモリを節約し、高精度の計算を維持するために、狭いタイプを広いタイプにキャストするのはひどい考えですか?

私は財務データを扱っているので、それがたくさんあり、比較的高精度(64ビット浮動小数点以上)である必要があります。

私の職場での標準的な慣習は、すべてをc#10進型として表すことのようです。これは、丸めのないbase10操作をサポートするために特別に作成された128ビット幅の浮動小数点です。

64ビットは代表的な精度を維持するのに十分な幅があるため、すべての計算(mult、div、addなど)でデータをより広い型にキャストしてから、64ビットに戻してメモリに格納するのはばかげています(その時ならほとんど)?

参考までに:メモリは間違いなくここでの制限リソースです。

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

c - 本当に大きな数を2進数から10進数に変換して印刷します

2進数を10進数に変換する方法を知っています。私は少なくとも2つの方法を知っています:テーブルとパワー;-)

2進数を10進数に変換して、この10進数を出力したいと思います。さらに、私はこの「10進数」には興味がありません。印刷したいだけです。

しかし、上で書いたように、私は2進数を10進数に変換する方法を2つしか知らず、両方とも加算が必要でした。したがって、バイナリで1または0の値を計算し、それを記憶されている値に追加します。これは薄い場所です。私は本当に本当に大きな数(1と64のゼロ)を持っています。変換中は、中間結果を「変数」に配置する必要があります。Cでは、「int」型があります。これは4バイトのみで、10^11以下です。

そのため、2進数から10進数に変換するときに、中間結果を保存するのに十分なメモリがありません。上で書いたように、私はその小数には興味がなく、結果を出力したいだけです。しかし、私はそれを解決する他の方法を見ていません;-(バイナリから「ただ印刷する」ための解決策はありますか?

または、中間表現にBCD(Binary Coded Decimal)のようなものを使用する必要がありますか?クロスプラットフォームではないので、私は本当にこれを使いたくありません(Intelのプロセッサには組み込みの機能がありますが、他の場合は独自の実装を作成する必要があります)。

ご意見をお聞かせいただければ幸いです。しばらくお待ちいただきますようお願いいたします。

言語:C。

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

algorithm - ある数値システムから別の数値システムに変換した後の桁数

主な質問: 桁数は?

説明させてください。2進法で11000000、10進法で192という数字があります。

10進数に換算すると何桁になりますか?私の例では、3桁です。しかし、それは問題ではありません。インターネットで検索したところ、整数部用のアルゴリズムと小数部用のアルゴリズムが見つかりました。私はそれらをよく理解していませんが、(私は思うに)それらは機能します。

2 進数から 8 進数への変換はより簡単です。3 ビットごとに 1 桁の 8 進数が得られます。16 進数も同様です。各 4 ビット = 1 桁の 16 進数。

しかし、私は非常に興味があります.P数字システムの数字を持っていて、それをQ数字システムに変換したい場合はどうすればよいですか? 私はそれを行う方法を知っています(私は知っていると思います:))が、まず第一に、Qシステムで何桁かかるかを知りたいです(いいえ、スペースを事前に割り当てる必要があります)。

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

c# - 10 進数の正規表現

入力を検証する必要があり、次のtextboxような小数入力のみを許可できますX,XXX(小数点の前に 1 桁のみ、精度は 3 です)。

私はC#を使用していますが、これを試してみてください^[0-9]+(\.[0-9]{1,2})?$?

0 投票する
15 に答える
209131 参照

python - 整数を数字に分割して ISBN チェックサムを計算する

ISBN 番号のチェック ディジットを計算するプログラムを作成しています。ユーザーの入力 (ISBN の 9 桁) を整数変数に読み取ってから、最後の桁に 2 を掛け、最後から 2 番目の桁に 3 を掛ける必要があります。これを行うには、どうすれば整数を構成数字に「分割」できますか? これは基本的な宿題の演習なので、リストを使用することは想定されていません。

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

c# - M は C# 10 進リテラル表記で何を表していますか?

10 進数データ型を扱うには、変数の初期化でこれを行う必要があります。

Mの部分は何の略ですか?

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

asp.net-mvc - Asp.Net MVC の千区切り記号付きの 10 進数値

10 進数メンバーと、このクラスのエントリを受け入れるビューを含むカスタム モデル クラスがあります。入力コントロール内の数値をフォーマットするためにJavaScriptを追加するまで、すべてがうまくいきました。書式コードは、ピントがぼけている場合に、入力された数値を千区切り「,」で書式設定します。

問題は、モーダル クラス内の 10 進数値が、3 桁区切り記号で適切にバインド/解析されないことです。ModelState.IsValid は、「1,000.00」でテストすると false を返しますが、「100.00」では変更なしで有効です。

これに対する解決策があれば教えていただけますか?

前もって感謝します。

サンプルクラス

サンプルコントローラー

サンプルビュー


アレクサンダーが提案したように、カスタムModelBinderで回避策を試しました。問題は解決しました。しかし、このソリューションは IDataErrorInfo の実装ではうまくいきません。検証のため、0 が入力されると Salary 値は null になります。何か提案はありますか?Asp.Net MVC チーム メンバーは stackoverflow に参加しますか? 少し手伝ってもらえますか?

アレクサンダーが提案したように、カスタムモデルバインダーでコードを更新しました

モデルバインダー

従業員クラス

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

c++ - 二重文字列の変換とロケール

国際的によくある問題は、文字列で表された double 値の変換です。このようなものは多くの地域で見られます。

いずれかで呼び出されるcsvファイルから始めます

また

時々それらはのように保存されるので

英語の地域または

たとえば、ドイツの地域で。

この背景から、ほとんどの std:: メソッドがロケール依存であることを知っておく必要があります。したがって、ドイツでは、「1,2」を 1.2 と読み、「1,2」と書き戻しますが、英語の OS では、「1,2」を 1 と読み、「1」と書き戻します。

ロケールはアプリケーションのグローバルな状態であるため、別の設定に切り替えることはお勧めできません。ここでは、英語のマシンでドイツ語の CSV ファイルを読み取る必要がある場合、またはその逆の場合にいくつかの問題があります。

また、すべてのマシンで同じように動作するコードを記述することも困難です。C++ ストリームでは、ストリームごとにロケールを設定できます。

std:: C の動作でストリームを初期化し、小数点のみを置き換えることができます。これにより、千単位の区切り記号を無視することができます。これも影響を受ける可能性があります。ドイツ語の 1000.12 は "1.000,12" になる場合があります。または英語の「1,000.12」は完全に混乱してしまいます。「、」を「。」に置き換えても。この状況では役に立ちません。

atof友達と一緒に仕事をする必要がある場合は、使用できます

私の行動をポン引きします。

したがって、国際的な二重行動のためだけに、非常に多くのものがあります. 私の Visual Studio でも問題が発生します。これは、ドイツ語版がバージョンとして 8,0 を vcproj ファイルに書き込みたいのに対し、英語版が 8.0 に変更しようとしているからです。世界の国。

そのため、私が無視した可能性のある側面を尋ねるために、問題を少し説明したかっただけです。私が知っていること:

  • 小数点はロケールに依存します
  • 桁区切り記号はロケールに依存します
  • 指数はロケールに依存します

どの国がどの設定を使用していますか? たぶん、私が今まで持っていなかった興味深い例をいくつか追加してください.