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