Convertir un String formato Decimal a un Double

Código PHP

PHP – Conversiones – Decimal double

Función qie convierte un string con un valor numérico integer o decimal a un double. Se convierte la coma del separador decimal del string a un punto para el valor decimal.

Si el valor no se puede convertir, devuelve 0. No se consideran los espacios en blanco y letras.

/**
 * Class HelperArray
 */
abstract class HelperConvert
{
    /**
     * Convierte un string en un double.
     * El separador decimales en el string es la coma
     * Los miles no llevan punto.
     *
     * @param $txt
     *
     * @return float
     */
    public static function string2Double($txt)
    {
        /*  Cambiamos la coma decimal por el punto */
        return doubleval(str_replace(',', '.', $txt));
    }
}

Ejemplos

$a = HelperConvert::string2Double( 1);                        
     /* $a = (double) 1 */
  
$a = HelperConvert::string2Double( 123);                    
     /* $a = (double) 123*/
  
$a = HelperConvert::string2Double( 12345);                    
     /* $a = (string:8) 12,06 */
 
$a = HelperConvert::string2Double( 1234567890);                
     /* $a = (double) 1234567890*/
  
$a = HelperConvert::string2Double( 1234567890.2344);        
     /* $a = (double) 1234567890.2344*/
  
$a = HelperConvert::string2Double( 12345678901234567890);    
     /* $a = (double) 1.2345678901235E+019*/
  
$a = HelperConvert::string2Double( '123');                    
     /* $a = (double) 123*/
  
$a = HelperConvert::string2Double( '12345');                
     /* $a = (double) 12345*/
  
$a = HelperConvert::string2Double( '1234567890');            
     /* $a = (double) 12345*/
  
$a = HelperConvert::string2Double( '1234567890.2344');        
     /* $a = (double) 1234567890.2344*/
  
$a = HelperConvert::string2Double( '12.345678901234567890');
     /* $a = (double) 12.345678901235*/
  
$a = HelperConvert::string2Double( "762900293322");            
     /* $a = (double) 762900293322*/
  
$a = HelperConvert::string2Double( "12A33");                
     /* $a = (double) 12*/
  
$a = HelperConvert::string2Double( "funciona");                
     /* $a = (double) 0*/
  
$a = HelperConvert::string2Double( " 99 ");                    
     /* $a = (double) 99*/