【问题标题】:Why does Excel translate `=10**-2` to `=0.1`?为什么 Excel 会将 `=10**-2` 翻译成 `=0.1`?
【发布时间】:2012-02-22 17:19:09
【问题描述】:

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

如果这个运算符不是幂运算符,它是什么?

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

【问题讨论】:

  • 为什么票数接近?我认为这是一个完全有效的问题:引用未记录的行为,定义可以复制的用例,明确询问有关该行为的问题。

标签: excel undefined-behavior mathematical-expressions


【解决方案1】:

似乎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

【讨论】:

  • 它只适用于文字。他是对的,你不能这样做=A1**A2。
  • 我一辈子都找不到这个操作符的记录位置。
  • 是的,我也在文档中寻找它,但还没有运气。
【解决方案2】:

** 与 E 相同

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

【讨论】:

  • 不,因为.1 * .1 将是0.01,而不是0.1
  • 与 ^ 或 power 不同。这不是一个运算符,这是令人困惑的。它在功能上等同于在两个数字之间键入字母“E”。
  • @MikeChristensen,这完全符合 F.J. 的示例。我认为罗杰成功了。这是科学记数法的另一种输入方法。
  • 谢谢蒂姆,这比我的解释更有说服力:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-15
  • 1970-01-01
相关资源
最近更新 更多