Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Drone

Formatação

Mensagens Recomendadas

Drone    1
Drone

Boas,

existe alguma função que me permita formatar um número?

Por exemplo, um numero de telemovel 931425694 quero que ele me apareça assim 931 425 694, ou seja quero que ele seja separado com espaços... existe função para tal ou terei de "partir" o número em tres partes?

EDIT:

Eu coloquei assim :

number_format($telefone, 0, ' ', ' ')

e faz o que quero, mas imagenos que queria separá-los de 2 em 2 ja nao dava com esta função :\

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

Como não se fazia nada, implementei aqui uma função para Python:

def format(number, space=3):
    array = []
    for i in range(0, len(str(number)), space):
        array.append(number[i:i+space])
    return ' '.join(array)

Tou com a sensação que existe alguma maneira mais fácil de fazer... :thumbsup:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
kingless    0
kingless

@Drone

Eu podia dar-te o código completo para fazer isso mas só que já estou cansado de dar papinha toda feita aos programadores de PHP.  Vou dar-te uma dica:  utiliza a função ereg();

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Gurzi    2
Gurzi

@Drone

Eu podia dar-te o código completo para fazer isso mas só que já estou cansado de dar papinha toda feita aos programadores de PHP.  Vou dar-te uma dica:  utiliza a função ereg();

O que o kingless queria dizer era o seguinte:

fazes um ereg() assim:

ereg("[0-9]{2}+[0-9]{3}+[0-9]{2}+[0-9]{2}",$data, $numeros);

sendo que depois

isto vai ficar assim

91 459 85 42

e para imprimires ou usas o foreach() ou então fazes algo simples como

echo $numeros[0] . " " .$numeros[1] . " " .$numeros[2] . " " . $numeros[3] . " " . 

Espero ter ajudado, um abraço :thumbsup:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
kingless    0
kingless

@Gurzi

Deixa de tentar adivinhar o que eu quis ou não dizer... O que fiz o seguinte:

<?php
function separar( $numero ) {
        $sep = str_split( $numero, 3 );
        $num = '';

        for($x = 0; $x < count( $sep ); $x ++ ) {
                $num .= $sep[$x].chr(32);
        }
        $num = trim( $num );
        return $num;
}

$numero = '936349564';

echo separar( $numero );
?>

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Drone    1
Drone

...mas no meu post onde disse eu que queria a paprinha feita? so gostava de saber se havia funcao que fazia  tal coisa... para eu n ter que fazer :S

Para alem do mais nao gosto de papinha feita, gosto de faze-lo sozinho e aprender e eu tambem nao sou nenhum amador em php, se o fosse com certeza que nao estava a trabalhar nesta empresa.. simplesmente perguntei se havia funçao k fizesse isto! lol

mas tks na mesma :S

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Drone    1
Drone

function separar($numero) {
$num = "";
ereg("([0-9]{2})([0-9]{3})([0-9]{2})([0-9]{2})", $numero, $numeros);
$x = 1;
while ($x < count($numeros)) {
	$num .= $numeros[$x]." ";
	$x++;
}
return trim($num);
}

echo separar(931193361);

//o output sera 93 119 33 61

Fiz esta função, agra é so alterar no ereg a maneira que voces querem formatar

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade