問題タブ [numeric-conversion]
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.
silverlight - Silverlight XAML バインディング -- Decimal から Double へ
Binding プロパティが次のように設定されている DataGridView にいくつかの列があります。
問題は、この NetPrice フィールドが Decimal 型であり、DataGrid 内で Double に変換したいことです。
これを行う方法はありますか?
sql - SQL Server CONVERT(NUMERIC(18,0)、'')は失敗しますが、CONVERT(INT、'')は成功しますか?
PRINT CONVERT(NUMERIC(18,0), '')
を生成します Error converting data type varchar to numeric.
でも、
PRINT CONVERT(INT, '')
0
エラーなしで生成 します。
質問:これにはSQL Serverフラグがありますか、それともすべてのvarcharから数値への変換に対してcaseステートメントを実行する必要がありますか?(明らかな理由は別として?)
java - ビット単位の演算子だけを使用して、符号なし整数のリトルエンディアン順の 4 バイトを Java プリミティブに割り当てることはできますか?
符号なし 32 ビット整数のリトル エンディアン エンコーディングである 4 バイトを読み取り、その値を Java int に割り当てたい
(はい、実際には「long」を使用しますが、この場合、unsigned 値が 2 の補数表記で signed int をオーバーフローするほど大きくなることは決してないことを「知っています」。 )。
問題の 4 バイトは、値「216」をリトルエンディアン スタイルでエンコードします。
基本的には、次のビット パターンを Java int に詰め込むだけです。
次の単純なコードでそれを行う必要があります...そして最初の 3 つの '0x00' バイトでは成功します:
ただし、次の点で失敗します。
... b1 のビットが 1101 1000 であるため、最上位ビットが 1 であるため、これは 2 の補数表記の負の数 (-40) です。 、-40 は 0xFFFFFFD8 としてエンコードされます。これにより、拡大された int の最初の 3 バイトが 0 になるという単純な仮定がねじれます。
だから私の戦略は行き詰まる。しかし、代わりに何をすべきですか?プリミティブ演算子を使用してこれを解決することは可能ですか (解決策を教えてください)、またはクラス ライブラリに頼る必要がありますか? (通常のコーディングではビットとバイトを直接いじることはあまりないので、「日常的な」コードであるべきと思われるものの慣用句が不足しています)。
クラス ライブラリのアプローチに関しては、次のフラグメントで正しい結果が得られます。
...読みやすさには問題ありませんが、省略したい8つのメソッド呼び出しを使用しています。
ありがとう!デビッド。
c++ - C++ float の固定小数精度を設定する方法
double を返す API 呼び出しがあります。double の 10 進数の長さは、多数の小数点以下桁数から数桁まで変化する可能性があります (すべてアクチュエータの状態に依存します)。この double は、アクチュエータの範囲半径上の現在の位置を表します。システムに多くのノイズが追加されるため、このような詳細な数値には興味がありません。スペースを節約するためにフロートを使用してきましたが、それでも小数点以下の長さが 6 ~ 8 のフロートがあります。私が望む仕事をしないという理由だけで、床や天井には興味がありません。たとえば、私は数字を持っています:
何があっても精度を小数点以下2桁に設定したい。std::cout の出力精度について話しているわけではありません。これを設定する方法は知っています。フロートの実際の精度について話しています。つまり、0.XX フォーマットと 0.XX00000000000 の実際の精度を持つ float に興味があります。したがって、上記のリストを次のように変換します。
ブーストには数値変換テンプレートがあることは知っていますが、精度の低い浮動小数点数から浮動小数点数に変換する方法がわかりません。誰か助けてくれませんか?
c# - CastingとConvert.ToInt32()はC#で異なる動作をしますか?
ここに簡単なC#コードがあります:
キャスト(int)
結果が異なるのはなぜConvert.ToInt32()
ですか?
両方が同じ結果をもたらすべきではありませんか?
vb.net - アラビア数字を英語に変換する
アラビア数字の文字列「٠١٢٣٤٥٦٧٨٩」を英語の数字文字列「0123456789」に変換する方法を探しています。
c# - (長い仮数) と (sbyte 指数) を 10 進数に変換します。
updは私のバージョンを最後の説明に入れました
仮数と指数を 10 進数に変換する必要があります。これは私がそれをコーディングした方法です:
field.Decimal.Mantissa
は整数ですが、Math.Pow(10, field.Decimal.Exponent)
2 倍なので、10 進数にキャストすると精度が失われるのではないかと心配しています。
を生成する型に対して独自のPow
関数を作成する必要がありますか?integer
decimal
何を提案しますか?私はこの関数を 1 秒間に何十回も呼び出すため、パフォーマンスに気を配っています。とても醜いが高速なソリューションが強く望まれています!
ここではお金を扱っているので、精度にも気を配っています。
これは私が今コーディングしたものですが、おそらく誰かがより良いものを提案できます:
bash - 文字列がBashで他の文字列よりも「大きい」かどうかをテストするにはどうすればよいですか?
Bashでは次のテストを書くことができます
その結果、0、つまりtrueが返されます。bashは実際にこの文字列比較をどのように実行しますか?私の理解>
では、整数比較を行います。オペランドのASCII値を比較しようとしますか?
scheme - スキームの整数部分と小数部分に数字を分解する方法は?
number->second-pair
数値を受け入れ、その整数部分と小数部分を 1000000 で乗算したものを表す整数のペアを返す関数が必要です。
すなわち:
解決策を見つけるのは簡単かもしれませんが、私は多くのドキュメントを検索しましたが、残念ながら数値を整数に変換する方法が見つかりません。誰かが私を助けることができますか?
ところで:
実際には、 を使用してより正確なalarm
( this one ) がsetitimer
必要なので、正確な整数を引数として渡してください。
c# - DataTableの.NETダブルストレージ?
.NET は、DataRow 内の double を間違った形式でフォーマットしているように見えるため、すぐにロードできません。「0.000000001」を保存すると、.NET は「1E-09」である必要があるときに「1E-09.0」として保存します。そのため、Convert.ToDouble("1E-09.0") は FormatException を返します。ここに私が使用するコードがあります:
キャストも試しましたが、コードから「InvalidCastException」がスローされます。Double.Parse も機能しません。
解決: