Converter array de String em Array de Inteiros

Fórum sobre: JavaScript, XML, AJAX e jQuery

Moderador: web

  Assista o vídeo    Busque no Youtube
manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 18-07-2012 08:56

Bom, procurei no fórum e não consegui descobrir...


Tenho o seguinte array de string:

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

myArrayAux("24.45","24","75.46","75.36");

Preciso que cada campo desse array torne um inteiro, ou seja, preciso pegar um array de string e tranformar em um array de inteiros.
Procurei na net e achei a seguinte forma:

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

var myArrayAux = fatdia.split("|");
for(var i=0; i<myArrayAux.length; i++) { myArrayAux[i] = +myArrayAux[i]; }

Aparentemente não deu certo, então como faço para conseguir o que quero?
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 18-07-2012 16:36

Mas no caso, agora você quer converter de array javascript para outro array javascript mesmo, correto?
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 18-07-2012 16:41

Dessa vez sim.. kkk'

Tentei da seguinte forma:

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

var fatdia = "<?php echo $fatdiaJS; ?>";
 
var myArrayAux = fatdia.split("|");
 
for(var i=0; i<myArrayAux.length; i++) { myArrayAux[i] = +myArrayAux[i]; }

Mas não está dando certo.
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 18-07-2012 16:52

Nesse caso o certo seria usar o parseFloat, como mostrado no exemplo

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

<script>
window.onload = function() {
myArrayAux = new Array("24.45","24","75.46","75.36");
alert( parseFloat( myArrayAux[0] ) );
}
</script>
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 18-07-2012 16:55

Cara, consegui fazer da seguinte forma:

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

for(var z=0; z<myArrayDi.length; z++)  { myArrayDi[z]  = +parseFloat(myArrayDi[z]);  }
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 18-07-2012 16:55

Boa.
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 19-07-2012 10:25

Cara, tenho um problema que decorreu da solução deste tópico:

Estou desenvolvendo gráfico com o JS Charts, que usa como linguagem java script. Para desenhar um gráfico em barras preciso de
Array(['legenda', numero1, numero2]), isto representa uma posição do array.

Agora o meu código:

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

var fatdia = "<?php echo $fatdiaJS; ?>";
                var produ  = "<?php echo $produJS;  ?>";
                var string = "<?php echo $stringJS; ?>";
               
                var stringAux  = string.split("|");
               
                var myArrayAux = fatdia.split("|");
                for(var i=0; i<myArrayAux.length; i++) {
                        myArrayAux[i] = +parseFloat(myArrayAux[i]);
                        if(isNaN(myArrayAux[i])){
                                alert(myArrayAux[i]);
                        }
                }
                var myArrayDi = produ.split("|");
                for(var z=0; z<myArrayDi.length; z++)  {
                        myArrayDi[z]  = +parseFloat(myArrayDi[z]);
                        if(isNaN(myArrayDi[z])){
                                alert(myArrayDi[z]);
                        }              
                }
               
                var myData = new Array();
                for(var j=0; j<stringAux.length; j++){
                        myData[j] = stringAux[j]+", "+myArrayAux[j]+", "+myArrayDi[j];
                }
 

Da forma que coloquei, se não aparecer nenhum dos alerts significa que é número, correto?! Porque aqui está dando problema falando que o formato do número é inválido, sendo que estou utilizando o ponto no lugar da vírgula para separar inteiros de decimais.

Está saindo assim:

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

string = Array ( [0] => '03-Julho' [1] => '4-Julho' [2] => '5-Julho' [3] => '6-Julho' ) ;
fatdia = Array ( [0] => 24.45 [1] => 24.00 [2] => 75.46 [3] => 75.36 );
produ = Array ( [0] => 122.00 [1] => 122.00 [2] => 70.00 [3] => 135.00 );

OBS.: peguei assim do php, mas dentro do JS sai assim também, quando dou um "[b]alert(dump(myData));[/b]" ('dump' é uma função que peguei na net)...

Não sei mais o que fazer...
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 19-07-2012 13:26

Qual é o formato padrão de valor que o gráfico aceita? Tem que gerar seu array baseado nisso.
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 19-07-2012 13:29

Poise, aí é que está, um exemplo do gráfico que estou tentando fazer é assim:

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

var myData = new Array( ['03-jun', 24.45, 122],
                                        ['04-jun', 24, 122],
                                        ['05-jun',75.47, 70],
                                        ['06-jun', 75.36, 135]);

Assim que deve ser desenhado o gráfico, fiz primeiramente de forma manual, pra depois tentar fazer de forma dinamica. A diferençã é que ele não aceita a forma dinamica, não sei o porque...
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 19-07-2012 13:33

Os valores desse gráfico estão vindo do PHP? Porque poderia criar uma função para ver se existe o caracter "-", se tiver, adiciona para aspas, ou converte para string.
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 19-07-2012 13:50

Sim, os dados estão vindo do php.

A outra parte não entendi o que você quis dizer...

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

$i=0;
            for($i == $dia1; $i <count($diaAux); $i++) {
                $string[$i] = $diaAux[$i]."-".$mes;
            }
 

Responde o que você falou?
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 19-07-2012 13:53

É que você falou do problema do . nos valores. Tem que identificar o que está dando problema, se é o . no lugar da vírgula, ou se é no array que gera essa data '06-jun'
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 19-07-2012 14:05

Acho que compliquei sua cabeça... Vamos lá, meu problema está em imprimir o gráfico, pois passei todos os parâmetros da maneira correta, só que pensei que poderia estar tendo algum problema, entendeu? Seguinte o array tem que ser ['string', numero1, numero2]... No meu caso quando vou gerar o gráfico, ele fala que o formato dos números está errado, contudo quando fiz ele manualmente, setando os mesmos números, deu certo. Eu queria saber se você pode me ajudar para ver se consigo imprimir o gráfico e ai meu projeto termina.... O formato dos números que estou passando é float, só que (não sei o porque) ele não está aceitando, então fiz :

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

if(isNaN(myArrayDi[z])){
        alert(myArrayDi[z]);
}

para ver se estava tendo string no lugar de float, o que me mostrou que não, só que mesmo assim ele fala que o formato de números está errado e, consequentemente, não gera meu gráfico, entendeu?
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 19-07-2012 14:13

Você pode tentar usar os valores sem o parseFloat, pode tentar também o parseInt http://www.javascripter.net/faq/convert2.htm#parseInt
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 19-07-2012 14:27

Mas e as casas decimais? Porque esses números em quase 100% das vezes terão 2 casas decimais, e quando comecei a desenvolver me disseram que tem que ser o mais perto possível da realidade, senão nem adiantaria desenvolver o sistema.
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 19-07-2012 16:18

Ai fica complicado. Agora só testando todas as possibilidades. Vê também se esse texto com a data não interfere ou se não deveria passar para string.
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 19-07-2012 17:10

CAra, testei com o parseInt e também não funcionou... Tirei a string e coloquei um texto qualquer (no formato de string) e também não funcionou, e toda vez o erro fala que o formato do número é inválido.... Vou ver o que faço aqui e se conseguir alguma coisa eu posto
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 19-07-2012 19:11

Qualquer coisa posta.
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 20-07-2012 11:23

Seguinte, achei o erro, só que não sei como fazer para resolver...
Fiz um teste para saber se é número cada variável do array, apenas um virou float, o restante continua como string, não sei o porque ele está assim, mas está...

A função para fazer o teste foi essa :

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

  function isNumeric(str) {
   var er = /^[0-9]+$/;
   return (er.test(str));
  }
 
//condicionais
  if(isNumeric(myArrayAux[i])){
   alert("ArrayAux virou float");
  }
  if(isNumeric(myArrayJS[0])){
   alert("ArrayJS virou float");
  }
 
 

No "ArrayJS" todos viraram float, só que no ArrayAux, apenas a posição 1 que virou... como posso fazer para todos virarem float?
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 20-07-2012 13:04

Para passar para float, tem que usar o parseFloat(), como nesse exemplo

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

<script type="text/javascript">
window.onload = function() {
 
var novo = new Array(1.456, 2, 3);
 
alert( typeof novo[0] ); // tipo original
 
novo[0] = novo[0].toString(); // para string
 
alert( typeof novo[0] ); // mostra string
 
novo[0] = parseFloat(novo[0]); // para float
 
alert( novo[0] ); // mostra float
 
}
</script>
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 20-07-2012 13:23

Poise cara, consegui o seguinte código:

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

 
                var fatdia = "<?php echo $fatdiaJS; ?>";
                var produ = "<?php echo $produJS; ?>";
                var string = "<?php echo $stringJS; ?>";
               
                var stringAux = string.split("|");
                for(var b=0; b<stringAux.length; b++){
                        stringAux[b]= stringAux[b];
                }
                               
                var myArrayAux = fatdia.split("|");
                for(var i=0; i<myArrayAux.length; i++) {
                        myArrayAux[i] = parseFloat(myArrayAux[i]).toFixed(2);
                }
 
                var myArrayJS = produ.split("|");
                for(var z=0; z<myArrayJS.length; z++) {
                        myArrayJS[z] = parseFloat(myArrayJS[z]);
                }
               
                var myData = new Array();
                for(var j=0; j<myArrayAux.length; j++){
                        myData[j] = stringAux[j]+", "+myArrayAux[j]+", "+myArrayJS[j];
                        alert(myData[j]);
                }
 

Sacou? Está dando certo, só que não sei o porque ele não está querendo fazer o gráfico dizendo "JSChart: Invalid bar number", repetindo mais uma vez, ou seja, está falando que os dois número que passo estão errados...

Tentei usar o phplot só que não rodou aqui na minha máquina... Vou tentando descobrir qual a zica desse trem aqui... :drunk:
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 20-07-2012 15:26

Entendi, blz.
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 24-07-2012 09:02

Cara, não sei o porque não consigo aprender o JS...

O que há de errado na seguinte função:

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

 
        function isNumeric(str) {
                var ar = /^[0-9]+.+[0-9]$/;
       
                return (ar.test(str));
        }
 
 


tem dois números que ele não consegue ver: 24.00 e o 70.00... eles vem em string e passo para float usando +parseFloat(fatdiaJS); porém ele não encherga esses números... um dia eu consigo aprender JS, certeza... oaksoaksoka'
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 16107
Registrado em: 20-01-2007 18:08
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contacto:

Converter array de String em Array de Inteiros

Mensagempor web » 24-07-2012 10:50

Testa a função exibida nesse fórum http://stackoverflow.com/questions/1808 ... -isnumeric
Se gostou do conteúdo, participe e divulgue.
0

manrique
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 117
Registrado em: 20-06-2012 16:19
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

Mensagempor manrique » 25-07-2012 16:59

Meu último post era pra ter sido nesse forum.. oaksoaksoka...

esse código:

Código: Selecionar todos   Testar HTML   Testar PHP   Testar MySQL   Como Funciona   Expandir código-fonte

        var myData = new Array(3);
       
        for(var li=0; li<fatdiaJS.length; li++){
                for (var col=0; col<fadtidaJS[li].length; col++){
                        myData[li][col] = stringJS[col]; col++;
                        mydata[li][col] = fatdiaJS[col]; col++;
                        myData[li][col] = produJS[col]; col--; col--;
                }
       
        }      
 


tem chance de acontecer?
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
0

BUSCA RÁPIDA
Converter array de String em Array de Inteiros

Voltar para “JavaScript, XML e jQuery”

Rolar para o topo