为什么Excel将`= 10** - 2`翻译为`= 0.1`?

Mik*_*e T 5 excel undefined-behavior mathematical-expressions

尝试粘贴=10**-2到MS Excel中的单元格中.按Enter键后,将其转为=0.1.我似乎找不到任何文档**,但它似乎是一个非常奇怪的取幂运算符,不能在Excel公式中使用(例如,=A1**A2无效).

如果此运算符不是取幂运算符,那么它是什么?

(注意:数学上,10 -2 = 0.01,而不是0.1)

Rog*_*ger 6

**与E相同

= 4E3 == 4**3 == 4000

  • 与^或电源不一样.这不是一个操作员,这是令人困惑的.它在功能上等同于在两个数字之间键入字母"E". (3认同)
  • @MikeChristensen,这完全符合FJ的例子.我认为罗杰钉了它.这是科学记数法的另一种输入方法. (2认同)

And*_*ark 5

似乎A**B将位置的小数点A向右B移位,或者在数学A**B上等效于A*(10^B).

这基本上是一种科学记数法简写,因此1.23**-2会出现1.23E-02在单元格中,因此它不仅如上所述执行移位,而且会将该单元格的类别更改为"科学". 请注意,只有在没有前导的情况下将值输入单元格时才会出现这种情况 =,因此 =1.23**-2 将保留单元格和显示的当前默认值 0.0123.

在这种情况下10**-2,小数点向左移动2个位置(因为B是负),结果为0.1.

这里有一些例子:

1**-2 => 0.01
1.2**2 => 120
.5**1 => 5
Run Code Online (Sandbox Code Playgroud)