Bank Boot: Get value correctly by the digitable line

1

I need to capture the correct amount of bank tickets through the digitable line, but I can not.

Here's how:

var linha = "34191.75009 01544.841545 78554.760005 4 25230000093423";

var valor = linha.substring(45,54).replace(/^0+/, ''); // Retira todos os zeros à esquerda

var valor_final = valor.substring(0,3) + "," + valor.substring(4,5); // 934,23

So far so good, but if the value is less than 100 or greater than 999 , how to capture correctly?

Is there any other way to properly capture the left-hand portion of the house-independent comma?

    
asked by anonymous 07.08.2016 / 04:10

1 answer

1

You can do this:

var linha = "34191.75009 01544.841545 78554.760005 4 25230000000883";

var valor = parseFloat(linha.substring(linha.length - 10, linha.length)).toString() // uso parseFloat parar retirar os zeros e toString para converter novamente em string

if (valor.length == 2) { // verifica se linha tem apenas 2 caracteres
  var valor_final = "0," + valor; // coloca o zero na frente
}else if (valor.length == 1) { // verifica se linha tem apenas 1 caractere
  var valor_final = "0,0" + valor; // coloca o 0,0 na frente
} else { 
  // qualquer outro valor ganha a mesma formatação
  var valor_final = valor.substring(0, valor.length -2) + "," + valor.substring(valor.length -2, valor.length);
}

console.log(valor_final)
    
07.08.2016 / 04:34