[解決済み] Math.Floor(Double)はなぜDouble型の値を返すのですか?
2022-05-17 08:57:58
質問
10進数や2進数から、左辺の整数値を取得したい。例:4.6から4を取得する必要があります。Math.Floor関数を使用してみましたが、double値が返されます、例えば:4.6から4.0が返されます。MSDNドキュメントには、整数値を返すと書いてあります。私はここで何かを見逃しているのでしょうか?または、私が探しているものを達成するための別の方法がありますか?
どのように解決するのですか?
の範囲は
double
の範囲よりはるかに広いです。
int
または
long
. このコードを考えてみましょう。
double d = 100000000000000000000d;
long x = Math.Floor(d); // Invalid in reality
の範囲外の整数です。
long
- ということで、どうなるでしょうか?
通常、あなたはこの値が
実際に
の範囲内にある。
int
または
long
というように、キャストするのです。
double d = 1000.1234d;
int x = (int) Math.Floor(d);
のような、より高度なキャスティングが必要ですが、その責任は開発者が負うものであって
Math.Floor
そのものではありません。の範囲外のすべての値に対して例外を発生させるだけでは、不必要に制限されることになります。
long
.
関連
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] Distinct() with lambda?
-
[解決済み] 戻り値のないFuncデリゲート
-
[解決済み] Pythonのmath.ceil()とmath.floor()はなぜ整数でなく浮動小数点数を返すのですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] C# で正の数を負の数に変換する