Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Ontem à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
14 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 14 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

Transformando strings númericas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Transformando strings númericas

Mensagem por Gonçalves em Dom 15 Jan 2012, 12:07

Supondo que eu tenha um variável com valor '2000000', como, ao passá-la para string, transformá-la em '2.000.000'? Até.
avatar
Gonçalves

Ranking : Nota B
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Número de Mensagens : 1013
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 2
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Transformando strings númericas

Mensagem por Igor KinGamer em Dom 15 Jan 2012, 13:53

Boa pergunta... (isso não foi sarcástico não)

Existe a função string_insert(substr,str,index), que retorna uma cópia (retorna uma cópia, não modifica a string dada) da string str com a string substr inserida na posição index (inserir na posição 1 (e não 0) significa inserir no início da string). A questão aqui é como descobrir onde inserir.
Como está bem claro, você tem que dividir a string de três em três caracteres, só que de trás para frente.

Para isso, você pode descobrir a quantidade de caracteres que deve ser pulada no início (que será 1, 2 ou 3) para inserir o primeiro ponto. A partir daí, é só ir somando 3 posições (na prática, 4, porque após inserir um ponto, a posição que seria 3 a frente torna-se 4 a frente) até terminar a string.
Você vai precisar da função string_length() para saber o comprimento da string, e usar mod 3 (módulo 3) para saber quantos caracteres devem ser pulados no início da string.

Vou deixar você tentar montar os códigos. Se você não conseguir, eu ajudo.

[edit]

Agora que eu percebi que tem um jeito mais simples. É só você pegar o comprimento da string mais 1 (se não somar um, os pontos ficarão uma posição antes do correto), então subtrair 3 e inserir o ponto, e repetir isso enquanto o valor for maior que 0.
avatar
Igor KinGamer

Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Transformando strings númericas

Mensagem por Gonçalves em Dom 15 Jan 2012, 16:18

Deve somar um porquê começa em 1 e não 0?

Não tinha visto a função string_length. Tentarei dessa forma, caso não consiga, tentarei usá-la da seguinte forma: checando a string_length, se maior que 3, crio uma var com valor 1, se maior 6 - var = 2, esse será o número de repeats que o code dará, inserindo ponto na string_length-3 (e no final do repeat var -= 3), que assim vai inserindo ponto de de 3 em casas de acordo com o número de caracteres. Não poderei testar nesses dias pois não estarei em casa, tentarei quando puder. Obrigado.
avatar
Gonçalves

Ranking : Nota B
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Número de Mensagens : 1013
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 2
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Transformando strings númericas

Mensagem por Igor KinGamer em Dom 15 Jan 2012, 22:28

@Gonçalves escreveu:Deve somar um porquê começa em 1 e não 0?
É, exatamente. Inserir algo em string_length() significa inserir uma casa antes do final, e o final é o que você quer.
avatar
Igor KinGamer

Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum