問題タブ [explicit-conversion]
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 - フロートから整数へのキャスト?
浮動小数点はすべての数値を正確に表すことができないため、何らかのエラーが発生することはわかっています。
しかし、最近問題が発生し、説明が正しくありません。
変換が出力にどのように影響したかを順を追って説明してください。
小数点以下を切り捨てると、どのように間違った答えが得られましたか?
入力すると、 の 8 進数に相当するものが見つかります1701
。それは答えを与える3244
。
私が知りたいのは、プログラムがどのように機能するかです。
プログラムはどのように印刷3244
されていませんか3245
。
しかし、答えは3245
です。
x%8
正しく動作して いることを確認しました。
y
データ型を floatに変更すると、動作します。なんでそうなの?
変換が出力にどのように影響したかを順を追って説明してください。
小数点以下を切り捨てると、どのように間違った答えが得られましたか?
c++ - テンプレートでネイティブ型からユーザー定義型に明示的に変換する方法
テンプレートの typename 型に基づいて明示的な変換を処理するのに十分な柔軟性をクラスに持たせたいと考えています。どうすればそれができますか?クラスが変換を処理する必要があると思います
これは長いコードのように思えるかもしれませんが、できるだけ短くしました。
これが私がやりたいことです。
bigNumber は次のように定義されます。
しかし、私は別の機能を絞って立ち往生しています。uint64_t 用に 1 つ、bigNumber 用に 1 つ
助けてくれてありがとう。そして、この質問にはより良いタグが必要です。
c++11 - コピー コンストラクターには引き続きキーワード explicit を使用する必要がありますか?
C++ では、明示的な変換が許可されない場合に、変換コンストラクターを介して暗黙的な変換を抑制するためのキーワード explicit が提供されています。明示的に宣言されたコンストラクターは、暗黙的な変換では使用できません。コンパイラが暗黙的な変換を実行するために使用してはならない単一引数のコンストラクターでは、explicit キーワードを使用します。
これは理にかなっていますが、コピー コンストラクターにキーワード explicit を引き続き使用する必要がありますか? キーワードの明示的な使用が役立つその他のケースとその理由は何ですか?
c# - キャストが c# の明示的な変換を逃した
次のコードで型変換に問題があります。
使用法:
私が間違っていることを教えてください。私はただの初心者で、rly は私が何をすべきか理解していません。私の悪い英語をお詫びします。ありがとうございました。PS の暗黙的な変換は正常に機能します。
c# - ThisType に変換演算子を追加して、ThatType から ThisType への明示的な変換を作成するにはどうすればよいですか?
クラスがあり、 ThatTypeからThisTypesに明示的に変換できるようにしたいと考えています。ThisTypeからThatTypeへの明示的な変換は非常に簡単です。
それは私だけかもしれませんが、反対のことをすぐに行う方法はありません. ThatTypeを取り、明示的に ThisType に変換したいと思います。ThisTypeを変更しながらこれを行うことはできますか、それとも ThatTypeのコードにアクセスする必要がありますか? 後者の場合、ThatTypeのThatTypeから明示的な変換を作成することは不可能ですか?たとえば、Dictionary<T,T> のようなライブラリによって提供されますか?
c++ - プライベートベースへのキャストオペレーターが慣れないのはなぜですか?
このコードでは、b1 への割り当ては機能しますが、b2 への割り当ては許可されません (静的キャストの有無にかかわらず)。私は実際には反対の問題であるパブリック継承を解決しようとしていましたが、暗黙的にベースに変換することはありませんでした。ただし、キャスト演算子は使用されていないようです。どうしてこれなの?
c# - この型を明示的に何に変換する必要がありますか?
このコードで:
...次のコンパイラ エラーが発生します。
タイプ 'System.Collections.Generic.IEnumerable' を 'WebAppRptScheduler.Models.UnitReportPairGenerateValsModel.GenerateVals' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)
これを機能させるには、これを何にキャストする必要がありますか?
詳細なコンテキストについては、コントローラー全体を次に示します。
...そしてモデル:
コントローラ メソッドがクエリされた 4 つの値を返せるようにするには、どうすればよいですか?
c# - 拡張メソッドを使用せずに、明示的な演算子を使用してリストを別のリストに変換する方法
この演算子をクラスに追加すると、「A」のクラスを渡すとうまく機能し、クラス「B」に変換されます。
しかし、「A」のリストを「B」のリストに変換したいときはうまくいきません。以下のコードを試してみましたが、うまくいきません。
コンパイラエラー「ユーザー定義の変換は、囲んでいる型との間で変換する必要があります」がスローされます拡張メソッドを使用してキャストしたくありません