Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

horacio2009

revertendo number format

Recommended Posts

boa tarde a todos!!

pessoal, eu tenho o seguinte numero 1000

aí, usando o number format, eu deixo ele assim: 10,00

beleza...

agora, eu preciso converter ele para decimal 10,2(para incluir numa tabela, cujo campo tem esse formato)

como é que eu faço???

Obrigado a todos!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Remover todos os caracteres não numéricos ajuda:

 

$n = 1000;

$nF = number_format( $n, 2, ',', '.' );

var_dump( preg_replace( '/\D/', '', $nF ) );

Ou você precisa de algo mais?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o número está com vírgula, para converter em formato aceito em BD, substitua a vírgula por ponto

 

$numero = str_replace(',', '.', $numero_antigo);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o número está com vírgula, para converter em formato aceito em BD, substitua a vírgula por ponto

$numero = str_replace(',', '.', $numero_antigo);

Essa seria a próxima etapa, caso a primeira não satisfizesse. :yay:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o número está com vírgula, para converter em formato aceito em BD, substitua a vírgula por ponto

 

$numero = str_replace(',', '.', $numero_antigo);

 

Só isso não irá funcionar. Veja

<?php

$numero_antigo = 1000000.25;

$numero_antigo = number_format( $numero_antigo, 2, ',', '.' ); // 1.000.000,25

echo str_replace( ',', '.', $numero_antigo); // 1.000.000.25

 

Teria que ser assim:

<?php

$numero_antigo = 1000000.25;

$numero_antigo = number_format( $numero_antigo, 2, ',', '.' ); // 1.000.000,25

echo str_replace( ',', '.', str_replace( '.', null, $numero_antigo ) ); // 1000000.25

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.