2
A
答えて
12
double
またはdecimal
のいずれかが問題なく動作します。しかし
、あなただけ書いた場合:
// Wrong
double x = 2/4;
、それはまだ整数除算を使用します - 除算演算子のオペランドの両方がタイプint
であるため。
あなたはどちらかにキャストするか、または両方のオペランドが倍増、またはそれらのいずれかまたは両方のための二重のリテラルを使用する:double
とdecimal
両方が種類浮動小数点であることを
// Any of these...
double x = (double) 2/4;
double x = 2/(double) 4;
double x = (double) 2/(double) 4;
double x = 2.0/4;
double x = 2/4.0;
double x = 2.0/4.0;
double x = 2d/4;
double x = 2/4d;
double x = 2d/4d;
注意。それらは任意の有理数(分数)を表すものではありません。たとえば、どちらも正確に1/3を表すことはできません。有理数型が必要な場合は、独自に記述するか、サードパーティの実装を探す必要があります。
4
少なくとも除数の1または配当が浮動数であることを確認してください:
double d = 2/4.0;
Console.WriteLine(d): // Writes: 0.5
3
使用2/4.0
浮動小数点演算を使用するように強制します。そして、あなたは、二重に格納することができます。
double d = 2/4.0;
あなたは、変数を持っている実際のコードでは、double
に除数をキャストした場合:
int i = 2;
int j = 4;
double d = i/(double)j;
1
をあなたはキャストすることができ、
double value = (double)2/4;
を小数点を入力すると
double value = 2.0/4.0;
1
フロートまたはダブルのいずれかでジョブが実行されます。
float x = 2f/4f;
double x = 2d/4d;
あなたが適切な文字(FまたはD)を付加することにより、フロートやダブルスのように一定の値を指定することができます。
重要なことは、最初のデータ型(左側)が結果のデータ型を決定することです。 EDIT:フロート/ダブルだから
に動作します...
var x = 2/4;//x is int (0)
var x = 2f/4;//x is float (0.5f)
var x 2d/4;//x is double (0.5d)
C#は自動的にダブルそう/ float型にint型に変換されますされ実際に、この場合はどちらかの値...とにかく
float x = 2/4;//result type is int, but gets stored as convert float
、あなたの例では、可能性の全体のホストを提供しているので、いくつかの事柄
関連する問題
- 1. C++データ型とC#データ型
- 2. C#データ型とMySqlデータ型
- 3. CHOICE/c wasd/n/t 0.5
- 4. c#でのデータ型c#でのデータ型c#
- 5. C++のVARIANTデータ型をC#
- 6. C#のエミュレートCデータ型
- 7. データ型のC++エラー
- 8. Cプログラミングテンプレートのデータ型
- 9. データ型のObj-C
- 10. C++でのデータ型
- 11. 「"0.5'
- 12. SQL数値(18,0)データ型に対応するC++データ型は何ですか?
- 13. C#の値型パラメータコピースレッドセーフ
- 14. C++/CLIでのC/C++データ型のマッピング
- 15. メッセージボックスのデータ型のC#
- 16. Oracle数値データ型
- 17. C#のデータ型と変数
- 18. PostgreSQLとC#のデータ型
- 19. 最適化データ型(C#の)
- 20. C#データ型の質問
- 21. C#のデータ型変換エラー
- 22. Cのメモリ内の値のデータ型を識別しますか?
- 23. Dapperクラスのプロパティ名と戻り値のデータ型C#
- 24. Integerデータ型のXSD空値
- 25. nvarchar値 'OrgID'をデータ型int
- 26. C#プログラミングの小数点データ型による自動丸め値
- 27. MATLAB:数値データ型へのシンボリック・データ型からの変換
- 28. C++ Iterators戻り値の型
- 29. C#:値型へのカスタムキャスト
- 30. シリアライズ型と値の組C#
を説明するのに役立ちます希望は、私は同様にリテラルサフィックスバリエーションを追加しました。 – Thorarin
@Thorarin:ありがとう非常に:) –