什么是E+3?这到底发生了什么?我们可以在其他数据类型中使用此方法,还是只能在浮点数中使用它?
static void Main(string[] args)
{
double w = 1.7E+3;
Console.WriteLine(w);
}
Run Code Online (Sandbox Code Playgroud)
输出:1700
Cod*_*ter 15
大多数计算器和许多计算机程序在科学记数法中呈现非常大且非常小的结果.因为像10 7这样的上标指数不能总是方便地显示,所以字母E或e通常用于表示提升到幂的十倍(将写成"x 10 b "),然后是指数的值.注意,在这种用法中,字符e与数学常数e或指数函数e x无关(与大写字母E不太相关的混淆); 虽然它代表指数,但符号通常被称为(科学)E符号或(科学)符号,而不是(科学)指数符号(尽管后者也会出现).出版物不鼓励使用这种表示法.
至于你的第二个问题:
我们可以在其他数据类型中使用此方法,还是只能在浮点数中使用它?
参见C#规范:
实际文字[被允许的数字文字的类型
E在其中]用于编写类型float,double和decimal.
但是,在分配给ah以外的Double任何其他内容时,必须适当地转换或后缀文字,因为在Visual Studio 中将任何带有e或E在其中的文字识别为a 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
Run Code Online (Sandbox Code Playgroud)