我有一个像0003000的数字,最后两位是十进制数。我要将0003000转换为00030,00(在最后两位数字前插入一个十进制逗号)。
我试着用substring做这个。我用strlen计算字符串的长度,然后生成-2,但它忽略了-2。
举个例子,为什么它会被忽略?

substr($this->arrCheck['amountsum'],0,(strlen($this->arrCheck['amountsum']-2)))

最佳答案

因为你的-2在strlen函数中而不是在它之外:

strlen($this->arrCheck['amountsum']-2)

应该是:
strlen($this->arrCheck['amountsum'])-2

但总而言之,您不需要使用strlen,因为substr接受一个负数作为字符串结尾之前的字符数:PHP Manual
所以你的整个代码可以被替换为:
substr($this->arrCheck['amountsum'], 0, -2)

整个事情可以通过:
substr($this->arrCheck['amountsum'], 0, -2).','.substr($this->arrCheck['amountsum'], -2)

10-07 15:00