Php 我应该如何从以美元符号开头的字符串中获取唯一的浮点格式的数字?

Php 我应该如何从以美元符号开头的字符串中获取唯一的浮点格式的数字?,php,string,Php,String,我有以下代码: <?php $amount = '$40.0'; ?> 我想从字符串$40中获取浮点数形式中的数字40,即排除美元符号之后。用户输入的数字甚至可以是浮动的,比如345.894534美元。在浮点数的情况下,除了美元符号之外,我应该得到整个浮点数。此外,变量有时可以为空,因此只有当变量包含某些值时,才能执行类型转换操作。我应该如何以最佳方式并通过使用PHP中可用的现成函数来实现这一点?有人能在这方面帮助我吗?提前谢谢。我推荐一个正则表达式。用substr做一点工作也

我有以下代码:

<?php
  $amount = '$40.0';
?>

我想从字符串$40中获取浮点数形式中的数字40,即排除美元符号之后。用户输入的数字甚至可以是浮动的,比如345.894534美元。在浮点数的情况下,除了美元符号之外,我应该得到整个浮点数。此外,变量有时可以为空,因此只有当变量包含某些值时,才能执行类型转换操作。我应该如何以最佳方式并通过使用PHP中可用的现成函数来实现这一点?有人能在这方面帮助我吗?提前谢谢。

我推荐一个正则表达式。用substr做一点工作也可以。这太琐碎了,成为最理想的几乎无关紧要。@MarkBaker:我已经更正了我的代码。请注意,货币值不应该使用浮动。@deceze确实如此,但OP使用浮动这个词太多次了,我忍不住要这么做。
$amount = floatval(str_replace('$','','$40.2356'));   //0 for empty string
$amount = '$345.894534';
$trimmed = ltrim($amount, "$"); // will return 345.894534