• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Drone

Formatação

11 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Os programadores de PHP estão habituados a ter a papinha toda feita, qual é o trabalho de fazer uma função para isso? :dontgetit:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Basta irem procurar no php.net tem la tudo e muito bem explicado ainda por cima para funções directas como é o caso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@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();

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem nessa área, não te posso dizer nada, se pesquisares vais encontrar :P deves ter idade boa pa ler inglês, eu nem por isso :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@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 );
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

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