Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

18-07-2012 08:56

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


Tenho o seguinte array de string:

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:

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?
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

18-07-2012 16:36

Mas no caso, agora você quer converter de array javascript para outro array javascript mesmo, correto?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

18-07-2012 16:41

Dessa vez sim.. kkk'

Tentei da seguinte forma:

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.
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

18-07-2012 16:52

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

<script> window.onload = function() { myArrayAux = new Array("24.45","24","75.46","75.36"); alert( parseFloat( myArrayAux[0] ) ); } </script>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

18-07-2012 16:55

Cara, consegui fazer da seguinte forma:

for(var z=0; z<myArrayDi.length; z++)  { myArrayDi[z]  = +parseFloat(myArrayDi[z]);  }

0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

18-07-2012 16:55

Boa.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

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:

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:

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 "alert(dump(myData));" ('dump' é uma função que peguei na net)...

Não sei mais o que fazer...
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

19-07-2012 13:26

Qual é o formato padrão de valor que o gráfico aceita? Tem que gerar seu array baseado nisso.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

19-07-2012 13:29

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

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...
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

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.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

19-07-2012 13:50

Sim, os dados estão vindo do php.

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

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

Responde o que você falou?
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

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'
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

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 :

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?
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

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
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

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.
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

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.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

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
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

19-07-2012 19:11

Qualquer coisa posta.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

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 :

  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?
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

20-07-2012 13:04

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

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

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

20-07-2012 13:23

Poise cara, consegui o seguinte código:

                  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:
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

20-07-2012 15:26

Entendi, blz.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

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:

          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'
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Converter array de String em Array de Inteiros

24-07-2012 10:50

Testa a função exibida nesse fórum http://stackoverflow.com/questions/1808 ... -isnumeric
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 117
Nome: Igor
Sexo: Masculino
Localização: Goiânia

Converter array de String em Array de Inteiros

25-07-2012 16:59

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

esse código:

        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?
0
Bons tempos quando os homens eram homens e escreviam seus próprios "device drivers".
Linus Torvalds

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado