Com todo o respeito, mas eu não concordo. Se é um decimal, guarde como decimal. Se é inteiro, guarde como inteiro. O próximo "desgraçado" que pegar no teu programa não tem que adivinhar que 299 significa 2,99 e não 299,00. Fico indignado quando vejo sistemas assim. Por exemplo, programadores que convertem datas em inteiro. Agora eu tenho que escrever muito mais sql para saber quais são os registros da data tal quando eu poderia fazer WHERE data <= "2012-04-17"
O tratamento para o visitante de float/double é easy, basta usar um number_format e já está. Agora do visitante para o banco de dados, tens de trocar a vírgula por ponto. Já tens aí várias soluções. Em 17/04/2012, às 18:46, Leonardo Grillo escreveu: > pq nao salva o valor como inteiro? > 2,99 = 299 > 1.000,00 = 100000 > de qualquer forma quando vc for mostrar para o cliente o valor, vc vai ter > que trata-lo novamente mesmo > > Leonardo Grillo > Soluções para web > > 81 88373799 > msg: [email protected] > gtalk: [email protected] > skype: grilloleo11 > > > > Em 17 de abril de 2012 11:16, Rafael V. de Oliveira <[email protected] >> escreveu: > >> 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 >> --------------------------- >> > _______________________________________________ > [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 ---------------------------

