带有 strlen 的 substr
我有一个类似于 0003000 的金额,最后 2 位数字是十进制数。我想将 0003000 转换为 00030,00 (在最后 2 位数字前面插入小数点逗号)。 我尝试用子字符串来做到这一点。我用 strlen 获取字符串的长度,然后生成 -2,但它忽略了 -2。
这是一个例子,为什么它被忽略了?
substr($this->arrCheck['amountsum'],0,(strlen($this->arrCheck['amountsum']-2)))
I have an amount like 0003000, the last 2 digits are the decimal number. I want to transform 0003000 to 00030,00 (insert a decimal comma in front of the last 2 digits).
I tried to do this with substring. I take the length of the string with strlen and then I make -2, but it ignores the -2.
Here is an example, why is it being ignored?
substr($this->arrCheck['amountsum'],0,(strlen($this->arrCheck['amountsum']-2)))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
这是因为您的
-2
位于 strlen 函数中而不是外部:应该是:
但总而言之,您不需要使用 strlen,因为 substr 接受负数作为 strlen 之前的字符数字符串结尾: PHP 手册
因此上面的整个代码可以替换为:
整个事情可以通过以下方式实现:
It's because your
-2
is in the strlen function instead of outside it:Should be:
But all in all you don't need to use strlen, since substr accepts a negative number as number of characters before the end of the string: PHP Manual
So your whole code above can be replace by:
And the whole thing can be achieved by:
-2 之后有 strlen 右括号。尝试:
You have the strlen close bracket after the -2. Try:
在这种情况下,您不需要
strlen()
,请尝试:you don't need
strlen()
in this case, try:您还可以执行以下操作:
You can also do the folowing:
使用 number_format() 代替。这样就很容易使用了。
http://www.w3schools.com/php/func_string_number_format.asp
use number_format() instead. That will be easy to use.
http://www.w3schools.com/php/func_string_number_format.asp
您可以使用 number_format
http://php.net/manual/en/function.number -format.php
或更正您的代码。
你不能将 -2 放入 strlen() 函数中
You can use number_format
http://php.net/manual/en/function.number-format.php
or correct your code.
you can't place -2 into strlen() function
这边走 ?
this way ?