[解決済み] .NETでのdecimal, float, doubleの違い?
質問
とはどのような違いがあるのでしょうか?
decimal
,
float
と
double
.NETで?
どのような場合に使用するのでしょうか?
解決方法は?
float
と
double
は
フローティング
バイナリ
ポイントタイプ
. つまり、このような数字を表現するのである。
10001.10010110011
2進数と2進小数点の位置は、ともに値の中にエンコードされています。
decimal
は
フローティング
10進数
ポイントタイプ
. つまり、このように数字を表現するのです。
12345.65789
ここでも、番号と
10進数
は両方とも値の中にエンコードされています。
decimal
は固定小数点型ではなく、浮動小数点型であることに変わりはありません。
注意すべき重要な点は、人間は非整数を10進数で表現することに慣れており、10進数表現に正確な結果を期待しているということです。すべての10進数が2進浮動小数点で正確に表現できるわけではなく、たとえば0.1では、2進浮動小数点値を使用すると、実際には0.1の近似値を得ることになります。例えば、1を3で割った結果を正確に表現することはできません。
どのような時に使うかについてですが
-
当然ながら正確な小数です。
decimal
. これは通常、人間が発明したあらゆる概念に適しています。金融価値が最もわかりやすい例ですが、それ以外にもあります。例えば、潜水士やアイススケーターの点数を考えてみよう。 -
測定不可能な自然の産物である価値観の場合 まさに とにかく
float
/double
の方がより適切です。例えば、科学的なデータは通常このような形で表現されるでしょう。この場合、元の値はそもそも"10進の正確さ"ではないので、期待する結果にとって"10進の正確さを維持することは重要ではありません。浮動2進数型は10進数よりはるかに高速に処理できます。
関連
-
[解決済み] WCFのデバッグ時にサーバーに自動的に踏み込むことができない
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] なぜGCCはa*a*a*a*aを(a*a*a)*(a*a*a)に最適化しないのでしょうか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] Javaで数値を小数点以下n桁に丸める方法
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
-
[解決済み] .NETにおけるstructとclassの違いは何ですか?
-
[解決済み] C#でDecimalをDoubleに変換する方法は?
-
[解決済み] .Any() vs .Count() > 0のどちらのメソッドがより良いパフォーマンスを発揮しますか?
-
[解決済み] floatとdoubleの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】XAMLにSystem.Stringを埋め込む
-
[解決済み】警告。同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
-
[解決済み] Html.BeginForm()にCSSクラスを追加する。
-
[解決済み] EF Coreのadd-migrationのビルドに失敗しました。
-
[解決済み] フレームワークとアーキテクチャの違いは何ですか?[クローズド]
-
[解決済み] Javaにおける "Double "と "double "の違いは何ですか?[重複】について]
-
[解決済み] AssemblyInfo.csは何に使うのですか?
-
[解決済み] ファイルまたはアセンブリをロードできませんでした 操作がサポートされていません。(HRESULT: 0x80131515 からの例外)
-
[解決済み] Nuget接続の試行に失敗しました。"Unable to load service index for source"。
-
[解決済み] System.Timers.Timer vs System.Threading.Timer