問題タブ [double]
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 - 対応するロングからデルタで逸脱する最初のダブルは何ですか?
「同じ値」の長さだけデルタ、たとえば1e-8だけずれている、0dから上への最初のdoubleを知りたいです。私はここで失敗しています。念のため、私は通常管理言語を使用していますが、これをCで実行しようとしています。助けてください。
問題は、diがiをdoubleにキャストするため、d == iであり、その差は常に0であるということだと思います。他にこれを正しく検出するにはどうすればよいですか?文字列を比較するよりも楽しいCキャストをお勧めします。永遠に取る。
答え:私たちが期待した通りです。2 ^ 53 + 1 = 9007199254740993は、標準のC / UNIX/POSIXツールによる最初の相違点です。彼のプログラムを提供してくれたpaxに感謝します。そして、私は数学が再び勝つと思います。
c# - C DLLを使用したC#での配列とポインターの使用
私はC#を初めて使用します(先週学習を開始したばかりです)。
次の関数を使用してCで記述されたカスタムDLLがあります。
私が探しているのは、配列'test'用のC#からのポインターを用意することです。
したがって、DLL関数でtest [0] = 450.60、test [1] = 512.99などがある場合、C#プログラムでそれを使用できるようにしたいと思います。
C#プログラムでは、次のようなものがあります。
DLLの「test_function」関数では、次のものを使用しました。
Within the DLL everything was OK (I used a message box within the DLL to check the values were being applied). Back in the C# program 'results[0]' appears to be fine and I can get values from it, but 'results[1]' gives me an index out of bounds error. I know this because if I omit '+ (double)results[1]' I receive no error. Also, if I make no attempt within the DLL to modify 'test[1]' it retains the original value from C# (in my example 0.0).
Obviously I am not doing something right but this is the closest I have been able to get to having it work at all. Everything else I have tried fails miserably.
Any help would be greatly appreciated.
c# - 「1.79769313486232E+308」をOverflowExceptionなしでdoubleに変換しますか?
この文字列「1.79769313486232E+308」があり、それを.NET数値(double?)に変換しようとしていますが、以下の例外が発生しています。私はを使用してConvert.ToDouble()
います。この変換を行うための適切な方法は何ですか?
OverflowException:値がDoubleに対して大きすぎるか小さすぎる
c# - C#のダブル(C++)とは?
C#のdouble
型(C++)とは?
最初はそう思ったUInt32
が、そうではない。C#で宣言する方法は?
java - Java: double と float
Bruce Eckel の別の演習では、私が書いたコードはメソッドを取り、別のクラスの値を変更します。これが私のコードです:
「精度が失われる可能性があります」というエラーがスローされます。
double
s もs ではないfloat
でしょうか?
c - 配列内の要素が多すぎます!
これが初心者の質問である場合は申し訳ありません:(。
Cコードの一部。
エラーを出す必要がありますよね?いいえ!正常に動作します!しかし、それはなぜですか?-最初の行で-doubleサイズ(11)を超える配列が定義されているようです。後でarray[5から10]にアクセスすることもできます。そして、それは私を混乱させています。array[4以下]を定義すると動作を停止します...
前もって感謝します。
java - DecimalFormat と double
DecimalFormatは、Double.toString()表現を解析します (科学的および財務的な形式である可能性があります)。
double を String に直接変換する代わりに、Sun がこのアプローチを選択したのはなぜですか?
PS: より具体的に。Double自体の内部表現をフォーマットするのではなく、Doubleをフォーマットするために、DecimalFormatが内部的にDouble.toString()を使用するのはなぜですか?
c# - 小数点の代わりに倍精度を使用する必要があるのはいつですか?
の代わりにdouble
(または)を使用する利点を 3 つ挙げることができます。float
decimal
- メモリ使用量が少なくなります。
- 浮動小数点演算がプロセッサでネイティブにサポートされているため、高速です。
- より広い範囲の数値を表すことができます。
しかし、これらの利点は、モデリング ソフトウェアに見られるような計算集約型の操作にのみ適用されるようです。もちろん、財務計算など、精度が必要な場合は double を使用しないでください。では、「通常の」アプリケーションの代わりにdouble
(または) を選択する実用的な理由はありますか?float
decimal
追加するために編集: すべてのすばらしい応答に感謝します, 私はそれらから学びました.
もう 1 つの質問: double の方が実数をより正確に表すことができると主張する人が何人かいます。宣言されたとき、それらは通常、より正確に表現されていると思います。しかし、浮動小数点演算を実行すると精度が (場合によっては大幅に) 低下する可能性があるというのは本当ですか?
mysql - 二重クエリなしのMySQLページネーション?
MySQL クエリから結果の数を取得し、同時に結果を制限する方法があるかどうか疑問に思っていました。
ページネーションの仕組み(私が理解しているように)、最初に次のようなことをします
num_rows(query) を取得すると、結果の数が得られます。しかし、実際に結果を制限するには、次のような 2 番目のクエリを実行する必要があります。
私の質問:とにかく、与えられる結果の総数を取得し、単一のクエリで返される結果を制限する方法はありますか? または、これを行うより効率的な方法。ありがとう!
c++ - C++ で double を文字列に変換する
double を C++ 文字列に変換しようとすると、いくつかの問題が発生します。これが私のコードです
私が抱えている問題は、double が「10000000」として渡されている場合です。返される文字列値は 1e+007 です
文字列値を「10000000」として取得するにはどうすればよいですか