O preg_replace é mais rápido na questão performance do que o str_replace(',', 
'.', ……) ?? É mesmo uma pergunta, não uso muito o preg_replace.

De qualquer maneira, acho que não tens como fugir disso. Tenho a mesma situação 
nos campos de data.
No "front-end", o visitante ou digita a data no padrão dd/mm/aaaa ou a 
seleciona em um calendário (JQuery UI Datepicker). Ao inserir no banco em um 
campo do tipo DATE, preciso converter as datas para o formato aaaa-mm-dd.

Eu acabo por fazer um explode:
$data = '17/04/2012';
$data = explode('/', $data);
list($dia, $mes, $ano) = $data;

return $ano . '-' . $mes . '-' . $dia;




Em 17/04/2012, às 14:21, Elton Schivei Costa escreveu:

> Sim tem,
> 
> Exemplo:
> 
> $valorForm = "2.752,99";
> 
> $valor = preg_replace('/[^0-9]/', '', $valorForm) / 100;
> 
> echo $valor; // imprime 2752.99
> 
> 
> Atenciosamente.
> 
> Elton Schivei Costa
> Analista de Sistemas.
> 
> 
> 
> 
> Em 17 de abril de 2012 10:16, André da Silva Severino <
> [email protected]> escreveu:
> 
>> Bom dia pessoal, desculpe o OFF.
>> 
>> Estou utilizando 2 campos no MySQL do tipo DOUBLE(10,2).
>> 
>> Bom, quando envio os dados através do formulário eu mando no seguinte
>> padrão:
>> 
>> 0.000,00
>> 
>> No CI eu faço a seguinte conversão:
>> 
>> function moeda( $valor )
>> {
>>        $source     = array('.', ',');
>>        $replace    = array('', '.');
>> 
>>        $valor = str_replace($source, $replace, $valor);
>>        return $valor;
>> }
>> 
>> $data['campo'] = moeda( $this->input->post('inp_valorUnitario') );
>> 
>> Tem alguma forma de fazer, sem ser assim ? Eu tentei tipar o dado usando
>> (double)$this->input->post('inp_valorUnitario'), mas não deu certo, no caso
>> de 2500,00 ele transformava para 2.5 (2,50).
>> 
>> De que forma vocês fazem ?
>> 
>> Obrigado
>> 
>> 
>> --
>> 
>> *
>> ---------------------------------------------------------------------------------------------------------------------------
>> *
>> "Eu adoraria mudar o mundo, pena que eles não me fornecem o
>> código-fonte".
>>        ~
>>     \°v°
>>      ( . )\   --> open-source
>>      ^ ^
>> *
>> ---------------------------------------------------------------------------------------------------------------------------
>> *
>> Email: [email protected]
>> Url: http://andrewd.com.br
>> 
>> --
>> Você está recebendo esta mensagem porque se inscreveu no grupo
>> "CodeIgniter Brasil" dos Grupos do Google.
>> Para postar neste grupo, envie um e-mail para
>> [email protected].
>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> [email protected].
>> Para obter mais opções, visite esse grupo em
>> http://groups.google.com/group/codeigniter-br?hl=pt-BR.
>> 
> _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> 
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------


_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------

Responder a