PHP验证十进制数字并转换为美元格式


PHP Validating decimal numbers and converting to US currency format

我目前正在使用PHP验证十进制值。该函数可以很好地从字母中确定小数/整数,但我的目标是将小数/整数值格式化为适当的货币值,如$0.00

如何使用美元符号(如$0.00)将输入值格式化为货币格式?

示例

<?
if (isset($_POST['price'])){
    $price = $_POST['price'];
    $priceString = empty($price['price'])?null:trim($price['price']);
            if(!empty($priceString)) { 
         if  (preg_match('/^[+'-]?'d+('.'d+)?$/', $price)){
             echo ('<div id="price_input"><span id="resultval">'.$price.'</span></div>');
                }
             else {
             echo ('<div id="price_input"><span id="resultval">Please input a valid decimal number.</span></div>');
                  }
    }
    else {
        echo '';
         }              
}
?>

使用money_format函数:

money_format('$%i', 5.2);

产出:5.2美元

编辑:

if  (preg_match('/^[+'-]?'d+('.'d+)?$/', $price)){
    echo ('<div id="price_input"><span id="resultval">'
          .money_format('$%i', $price);
          .'</span></div>');
}