[解決済み] std::roundからintにキャストするのは安全ですか?
2022-03-11 16:37:41
質問
について質問があります。
std::round
をシグネチャとする。
double round (double x);
例えばこんなコードがあるとします。
int i = std::round(0.9);
この場合
std::round
を返さなければなりません。
1.00000000000
に近い。
0.9999999999999
浮動小数点演算の誤差で四捨五入されてしまわないか心配です。
私は、次のことを望みます。
i == 1
しかし、これは保証されているのでしょうか?
どのように解決するのですか?
その
std::round
関数は、浮動小数点数である " を返します。
ゼロから中途半端なケースを丸める
となります。他の
double
から
int
暗黙のうちに変換すると、コンパイラは警告を出します。
double' から 'int' への変換で、データが失われる可能性があります。
使用方法 std::lround または std::lrint は、積分値を返したい場合。
関連
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み] using namespace std;」はなぜバッドプラクティスだと言われるのですか?
-
[解決済み] 文字列をfloatやintにパースするにはどうしたらいいですか?
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] Javaで数値を小数点以下n桁に丸める方法
-
[解決済み] JavaScriptで浮動小数点数の精度を扱うには?
-
[解決済み] 数字を切り上げるには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】関数名の前に期待されるイニシャライザー
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み】'cout'は型名ではない
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み】エラー。switchステートメントでcaseラベルにジャンプする
-
[解決済み] [Solved] インクルードファイルが開けません。'stdio.h' - Visual Studio Community 2017 - C++ Error
-
[解決済み】クラスのコンストラクタへの未定義参照、.cppファイルの修正も含む
-
[解決済み】Visual Studioのデバッガーエラー。プログラムを開始できません 指定されたファイルが見つかりません