問題タブ [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# - 小数点の代わりに倍精度を使用する必要があるのはいつですか?
の代わりに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」として取得するにはどうすればよいですか
c# - double と float が存在するのはなぜですか?
複製
.. などなど...
精度が高いため、アプリ全体で C# と SQL Server の decimal データ型を使用しています。合計が詳細に合わないなどのイライラする問題は一度もありませんでした.
double と float が不正確であることを考えると、なぜ存在するのか疑問に思っていました
c# - 倍精度
私はコードを持っていますが、それを理解していません。精度が非常に重要なアプリケーションを開発しています。しかし、それは.NETにとって重要ではありません、なぜですか?知らない。
しかし、メッセージボックスには次のように表示されます。3.5助けてください、ありがとう。
.net - TimeSpanからdouble値を生成する方法
相対時間を計算する必要があります
次に、relativeTimeを2倍の値に変換します。この値は、秒とミリ秒(seconds.milliseconds)で構成されている必要があります。
時間差からそのような二重の値を生成するための最良の方法は誰か知っていますか?
ありがとう!
double - double の不正確な除算 (Visual C++ 2008)
QueryPerformanceCounter から返された時間値をミリ秒単位の double 値に変換するコードがいくつかあります。これは、カウントする方が便利だからです。
関数は次のようになります。
私が最近抱えている問題 (以前はこの問題はなかったと思いますし、コードに変更は加えられていません) は、結果があまり正確ではないということです。結果には小数は含まれませんが、1 ミリ秒よりも精度が低くなります。
デバッガーに式を入力すると、期待どおりの正確な結果が得られます。
double は 64 ビット整数の精度を保持できないことは理解していますが、現時点では、PerformanceCounter は 46 ビットしか必要としませんでした (そして、double は損失なしで 52 ビットを格納できるはずです)。分割を行う別の形式。
ここに私が得たいくつかの結果があります。プログラムはデバッグ モードでコンパイルされ、C++ オプションの浮動小数点モードはデフォルト (正確 (/fp:正確) ) に設定されました。
私のプログラムの結果と比較して、デバッガーのウォッチの精度が異なる理由を誰かが知っていますか?
更新: 変換と除算を行う前に、timerPerformanceCounter.QuadPart から 30270310439445 を差し引いてみましたが、現在はすべての場合で正確であるように見えます。この動作しか見られないのは、コンピューターのアップタイムが 16 日になり、値が以前よりも大きくなったためでしょうか? したがって、大きな数での除算の精度の問題であるように見えますが、ウォッチ ウィンドウで除算が依然として正しい理由はまだ説明されていません。結果に double よりも高精度の型を使用していますか?
java - 精度を落とさずに float を double に変換する
私はプリミティブフロートを持っていて、プリミティブダブルとして必要です。float を double にキャストするだけで、奇妙な追加の精度が得られます。例えば:
ただし、キャストする代わりに float を文字列として出力し、文字列を double として解析すると、必要なものが得られます。
String に行って戻るよりも良い方法はありますか?
c++ - C ++でCStringをdoubleに変換するにはどうすればよいですか?
C ++で aCString
をaに変換するにはどうすればよいですか?double
Unicodeのサポートもいいでしょう。
ありがとう!
c++ - エクスポートされたconst変数を参照するconst変数の値が0になるのはなぜですか?
次のことを考慮してください。次のように2つのエクスポートされた定数があります。
と
これらの定数は、2つの静的(ローカルに表示される)定数を定義するために別の場所で参照されるようになりました。
これにより、次の出力が得られます。
2番目のdoubleが0であるのはなぜですか?.NET 2003 C ++コンパイラ(13.10.3077)を使用しています。