【问题标题】:PHP: Why the 'abs' function returns a wrong number if it begins with zero?PHP:如果'abs'函数以零开头,为什么它会返回错误的数字?
【发布时间】:2011-02-10 02:29:20
【问题描述】:

代码“abs(070000)”返回 28672,但代码“abs(70000)”返回 70000。

开头的0是不是表示数字被解释为十六进制?

谢谢!

【问题讨论】:

  • "...数字被解释为十六进制?"不,八进制(以 8 为基数),参见。 @DuoSRX 的回答。
  • @Paulocoghi abs(7000000) 不会返回 70000。 ;)

标签: php absolute octal


【解决方案1】:

以零开头的数字被解释为八进制。

php documentation

【讨论】:

  • 如果我比较两个数字,一个是十进制,另一个是八进制,比较是否正确?
  • 类似于“if(a
  • 好吧好吧...现在我明白了。这种比较会以错误的方式进行,因为数字已经改变了它的基数。谢谢!
  • 我正在使用函数 'ltrim($string_of_numbers,"0")' 删除开头的零。 [已解决]
猜你喜欢
  • 2012-06-21
  • 1970-01-01
  • 1970-01-01
  • 2012-02-07
  • 2020-04-17
  • 2018-11-10
  • 1970-01-01
  • 2015-02-06
  • 1970-01-01
相关资源
最近更新 更多