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*/
