让我们说我有这样的字符串:
$str1 = '7.5.4';
$str2 = '7.19.41';
Run Code Online (Sandbox Code Playgroud)
如何从最后一个点开始删除每个字符串的最后几个字符,以便我的字符串变为:
$str1 = '7.5';
$str2 = '7.19';
Run Code Online (Sandbox Code Playgroud)
谢谢
试试这个:
$str1 = substr( $str1, 0, strrpos( $str1, '.' ) );
Run Code Online (Sandbox Code Playgroud)
更新
在您的特定情况下,您也可以简单地使用 floatval
$str1 = '7.5.4';
$str2 = '7.19.41';
echo floatval($str1) . "\n";
echo floatval($str2) . "\n";
Run Code Online (Sandbox Code Playgroud)
请注意,如果终止零计数,则需要将其与number_format或组合sprintf
$str1 = '7.50.4';
$str2 = '7.10.41';
echo number_format(floatval($str1), 2, '.', '') . "\n";
echo sprintf('%0.2f', floatval($str2));
Run Code Online (Sandbox Code Playgroud)
如果是这种情况,那么在初始解决方案中你并没有真正获得任何东西,并且你也与特定的精度相关('7.190.41'仍然会产生7.19,并且'7.191'也会产生7.19).但是,如果你不关心终止零,那就是胜利.