問題タブ [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.
c# - 10 進数の正規表現
入力を検証する必要があり、次のtextbox
ような小数入力のみを許可できますX,XXX
(小数点の前に 1 桁のみ、精度は 3 です)。
私はC#を使用していますが、これを試してみてください^[0-9]+(\.[0-9]{1,2})?$
?
python - 整数を数字に分割して ISBN チェックサムを計算する
ISBN 番号のチェック ディジットを計算するプログラムを作成しています。ユーザーの入力 (ISBN の 9 桁) を整数変数に読み取ってから、最後の桁に 2 を掛け、最後から 2 番目の桁に 3 を掛ける必要があります。これを行うには、どうすれば整数を構成数字に「分割」できますか? これは基本的な宿題の演習なので、リストを使用することは想定されていません。
c# - M は C# 10 進リテラル表記で何を表していますか?
10 進数データ型を扱うには、変数の初期化でこれを行う必要があります。
Mの部分は何の略ですか?
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 に参加しますか? 少し手伝ってもらえますか?
アレクサンダーが提案したように、カスタムモデルバインダーでコードを更新しました
モデルバインダー
従業員クラス
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 に変更しようとしているからです。世界の国。
そのため、私が無視した可能性のある側面を尋ねるために、問題を少し説明したかっただけです。私が知っていること:
- 小数点はロケールに依存します
- 桁区切り記号はロケールに依存します
- 指数はロケールに依存します
どの国がどの設定を使用していますか? たぶん、私が今まで持っていなかった興味深い例をいくつか追加してください.
javascript - JavaScriptで未使用の小数を切り刻む
通貨の入力があり、有効数字のみを返す必要があります。入力には常に小数点以下 2 桁があるため、次のようになります。
これが私が現在行っている方法です:
それは機能し、私が好きな特定の直接性を持っていますが、もっときれいな方法があるかもしれません.
ループを使用して 3 回実行することもできると思いますが、実際には、if ステートメントを条件付けするまでには、少なくとも同じくらい大きくなるようです。それ以外に、何かアイデアはありますか?それを行う正規表現の方法もあると思います....
php - PHP - 10 進数値の配列の合計
PHP で 10 進数値の配列の合計を計算しようとしていますが、何らかの理由で整数に丸められ続けます。
例えば:
$oldArray には、実際には SQL クエリからの 10 進数値が取り込まれます ($oldarray の長さは約数百ですが、最初の 10 が必要です。上記の例では、$myVar が 10 進数であると予想していますが、実際にはfor ループの前に $myVar = 0.0000 を設定しようとしたり、$myVar += $oldArray[$k] + 0.0000 などを試したりしましたが、何も動作しないようです。
私は何を間違っていますか?$myVar を明示的に 10 進数に設定するにはどうすればよいですか?
sql - SQL Serverは10進数を挿入しますが、Intを選択します
2つのdecimal(18,0)フィールドを持つテーブルがあります。
このテーブルに2つの10進値を挿入しています。たとえば、1.11
(キャストなしで)テーブルから選択すると、1が得られます。
私はすべての鋭敏さを失っています、そして私は理由がわかりません。
TEST値に挿入(153、'test'、'test'、1、1、1.11、1.11)
TESTから*を選択すると、1.11,1.11ではなく1と1になります。
何か案は?