Php 设置数字格式以消除左侧的零
在本例中,我需要帮助将数字保持在零之前的右边: $var='LMO0000000381W'=>只保留381 我从substr$var开始,3,-1;这给了我0000000381,但困扰我的可能是其他数字中的零。这些都是我需要证明的案例Php 设置数字格式以消除左侧的零,php,format,substr,Php,Format,Substr,在本例中,我需要帮助将数字保持在零之前的右边: $var='LMO0000000381W'=>只保留381 我从substr$var开始,3,-1;这给了我0000000381,但困扰我的可能是其他数字中的零。这些都是我需要证明的案例 0000000381 => 381 0000003081 => 3081 0000030810 => 30810 0000053081 => 53081 给定$var='LMO0000000381W'和字母,这应该可以: echo pre
0000000381 => 381
0000003081 => 3081
0000030810 => 30810
0000053081 => 53081
给定$var='LMO0000000381W'和字母,这应该可以:
echo preg_replace('/[^1-9]*([0-9]*)/', '$1', $var);
或:
一旦您提取了数字(这是最困难的部分),几乎任何事情都可以:
<?php
$data = '0000000381';
var_dump( (int)$data );
var_dump( (float)$data );
var_dump( number_format($data) );
var_dump( sprintf('%d', $data) );
编辑:如果您想了解其他一些想法,这里有一个未经充分测试的正则表达式:
$var = 'LMO0000000381W';
if( preg_match('/^[A-Z]*0*([0-9]+)[A-Z]*$/i', $var, $matches) ){
var_dump($matches[1]);
}
但是您的系统很好。我们有两种方法来实现这一点 1.使用PHP的ltrim函数
$str = ltrim($str, '0');
2.使用类型转换
`(string)((int)"00000234892839")`
弦乐以字母SEdited开头,并添加了一个匹配项。它是铸造的。完全忘记了显而易见的解决办法,谢谢你提醒我
$str = ltrim($str, '0');
`(string)((int)"00000234892839")`