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

时间:2012-01-30 22:40:54

标签: excel undefined-behavior mathematical-expressions

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

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

(N.B。:数学上,10 -2 = 0.01,而不是0.1)

2 个答案:

答案 0 :(得分:6)

**与E

相同

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

答案 1 :(得分:5)

似乎A**BA的小数点向右移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