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