Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Expresión regular que solo pasa números enteros y desprecia los decimales

Estas en el tema de Expresión regular que solo pasa números enteros y desprecia los decimales en el foro de Java en Foros del Web. Holas, Estoy con una exprexión regular a punto de claudicar,... Código: function strToArr(str) { var arr = []; var rows = str.split("|"); for (var i ...
  #1 (permalink)  
Antiguo 27/03/2015, 13:05
 
Fecha de Ingreso: mayo-2003
Mensajes: 92
Antigüedad: 20 años, 11 meses
Puntos: 0
Expresión regular que solo pasa números enteros y desprecia los decimales

Holas,

Estoy con una exprexión regular a punto de claudicar,...

Código:
function strToArr(str) {
    var arr = [];
    var rows = str.split("|");
    for (var i = 0; i < rows.length; i++) {
        var row = [];
        var regex = new RegExp("^\"(.*)\"$");
        var values = rows[i].split(",");
        for (var j = 0; j < values.length; j++) {
            var value = values[j].trim();
            row.push(regex.test(value) 
                    ? RegExp.$1
                    : parseInt(value, 10));
        }
        arr.push(row);
    }
    return arr;
}

Estoy pasando los datos a Google Charts para mostrarlo en FancyBox y el problema reside en que solo toma el numero entero del dato, los decimales los descarta.

He probado de toooo pero na,.. y el caso es que en la condición esta seteado (.*) y debería pasar todo el dato.

Me podéis ayudar?

Un saludo!
  #2 (permalink)  
Antiguo 28/03/2015, 01:35
 
Fecha de Ingreso: mayo-2003
Mensajes: 92
Antigüedad: 20 años, 11 meses
Puntos: 0
Respuesta: Expresión regular que solo pasa números enteros y desprecia los decimales

listo papeles,...

Código:
function strToArr(str) {
    var arr = [];
    var rows = str.split("|");
    for (var i = 0; i < rows.length; i++) {
        var row = [];
        var regex = new RegExp("^\"(.*)\"$");
        var values = rows[i].split(",");
        for (var j = 0; j < values.length; j++) {
            var value = values[j].trim();
            row.push(regex.test(value) 
                    ? RegExp.$1
                    : parseFloat(value));
                    
                    /*
                    : parseInt(value, 10));
                    */
        }           
        arr.push(row);
    }
    return arr;
}

Etiquetas: enteros, regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:38.