浮点数中的 E 是什么

本文关键字:是什么 浮点数 | 更新日期: 2023-09-27 18:34:44

什么是E+3?这里到底发生了什么?我们可以在其他数据类型中使用这种方法,还是只能在浮点数中使用这种方法?

static void Main(string[] args)
{
    double w = 1.7E+3;
    Console.WriteLine(w);
}

输出:1700

浮点数中的 E 是什么

E 表示法

大多数计算器和许多计算机程序都以科学记数法呈现非常大和非常小的结果。由于像 107 这样的上标指数并不总是可以方便地显示,所以字母 E 或 e 通常用于表示十次幂的倍数(将写为"x 10b"(,后跟指数的值。请注意,在此用法中,字符 e 与数学常数 e 或指数函数 ex 无关(大写字母 E 不太可能混淆(;虽然它代表指数,但符号通常被称为(科学(E 符号或(科学(E 符号,而不是(科学(指数符号(尽管后者也发生(。出版物不鼓励使用此符号。


至于你的第二个问题:

我们可以在其他数据类型中使用这种方法,还是只能在浮点中使用这种方法?

请参阅 C# 规范:

实数文本[允许在其中E的数字文本的类型]用于写入类型为 floatdoubledecimal 的值。

但是,在分配给除Double以外的任何文本时,您必须适当地强制转换或后缀文本,因为任何带有eE的文本在Visual Studio中都被识别为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 103 = 1700

E+3 表示小数位向右移动 3 次

1.7 -> 17.0 -> 170.0 -> 1700.0

E+3 = 10 3

,所以 1.7 · 103 = 1700