如何将带有文本的字符串数字转换为数字数字

时间:2019-02-28 14:39:30

标签: php

我有一个数字:342.50欧元。如何仅在表格中显示数字:342.50 我试过了,但这不是我想要的结果

$str = '342.50 EUR';
preg_match_all('!\d+!', $str, $matches);
print_r($matches);

结果:Array ( [0] => Array ( [0] => 342 [1] => 00 ) )

4 个答案:

答案 0 :(得分:2)

如果您输掉最后一个0很好,那么您只需使用floatval

$str = '342.50 EUR';

echo floatval($str); // 342.5

答案 1 :(得分:1)

就这么简单...

$str = +'342.50 EUR';

$str = '342.50 EUR';
$str = +$str;

这样,无需知道数字的类型(整数或浮点数)。

这是0 + '342.50 EUR'的精简版。 PHP将字符串转换为可以在其中找到的第一个数字部分。如果没有数字,则结果为零。

答案 2 :(得分:0)

您可以将其转换为浮点数:

$str = '342.50 EUR';    
$float = floatval($str);    

然后,您可以选择要显示的小数位数,以number_format表示:

echo(number_format($float, 2));

答案 3 :(得分:-2)

您可以分两个步骤进行操作:

  1. 从字符串中删除货币名称。
  2. 然后将剩余的字符串转换为浮点值。

这些步骤可以在以下行中执行:

$string = '342.50 EUR';
$string = str_replace(" EUR", "", $string);
$float_value_of_string = floatval($string);
echo $float_value_of_string; //342.50