0

假设我有这样的字符串:

$str1 = '7.5.4';
$str2 = '7.19.41';

如何从最后一个点开始删除每个字符串的最后几个字符,以便我的字符串变为:

$str1 = '7.5';
$str2 = '7.19';

谢谢

4

1 回答 1

6

尝试这个:

   $str1 = substr( $str1, 0, strrpos( $str1, '.' ) );

更新

在您的特定情况下,您也可以简单地使用floatval

$str1 = '7.5.4';
$str2 = '7.19.41';

echo floatval($str1) . "\n";
echo floatval($str2) . "\n";

请注意,如果终止零计数,您需要将其与number_formator结合使用sprintf

$str1 = '7.50.4';
$str2 = '7.10.41';

echo number_format(floatval($str1), 2, '.', '') . "\n";
echo sprintf('%0.2f', floatval($str2));

如果是这种情况,您并没有真正比最初的解决方案获得任何好处,而且您还与特定的精度相关联('7.190.41'仍然会 yield 7.19'7.191'也会 yield 7.19)。但是,如果您不关心终止零,那就是胜利。

于 2013-08-08T19:36:39.650 回答