何E+3
ですか?ここで正確に何が起こりますか?このアプローチを他のデータ型で使用できますか、それともフローティングポイントでのみ使用できますか?
static void Main(string[] args)
{
double w = 1.7E+3;
Console.WriteLine(w);
}
出力:1700
ほとんどの計算機と多くのコンピュータプログラムは、科学的記数法で非常に大きな結果と非常に小さな結果を示します。10 7のような上付きの指数は常に便利に表示できるとは限らないため、文字Eまたはeは、10の累乗( "x 10 b "と表記)を表すためによく使用され、その後に指数の値が続きます。 。この使用法では、文字eは数学定数eまたは指数関数exに関連していないことに注意してください。(大文字のEとの混同の可能性は低い); 指数を表しますが、この表記は通常、(科学的)指数表記ではなく、(科学的)E表記または(科学的)e表記と呼ばれます(後者も発生します)。この表記の使用は、出版物によって推奨されていません。
2番目の質問について:
このアプローチを他のデータ型で使用できますか、それともフローティングポイントでのみ使用できますか?
C#仕様を参照してください:
実数リテラル[で許可されている数値リテラルのタイプ]は、、、、およびのタイプの
E
値を書き込むために使用されます。float
double
decimal
ただし、またはDouble
を含むリテラルはVisual Studioでとして認識されるため、以外のものに割り当てる場合は、リテラルを適切にキャストまたはサフィックスする必要があります。この動作が指定されている場所が見つかりません。e
E
Double
float f1 = 7E1; // Compile error. Needs F suffix (7E1F)
decimal d1 = 8E2; // Compile error. Needs M suffix (8E2M)
double d2 = 9E3; // Works.
int overninethousand = (int)9E3 + 1; // Works
一般的に、それは指数/科学的記数法です...
1.7E + 3 = 1.7 x 10 ^ 3 = 1700
E + 3は、小数点以下が3回右に移動することを意味します
1.7-> 17.0-> 170.0-> 1700.0
E+3 = 10^3, so 1.7 * 10^3 = 1700