Lançado Adianti Framework 8.1!
Clique aqui para saber mais
Calculos dinamicos em formulário Boa Tarde Estou tentando executar alguns cálculos dinâmicos em um formulário, porem quando utilizo multiplicações ou valores fracionados o calculo não acontece, abaixo segue as funções para calculo. public static function onCalcula($param) { $leitura_anterior = (float) str_replace('.', ',', $param['leitura_anterior']); $leitura_atual = (float) str_replace('.'...
PP
Calculos dinamicos em formulário  
Boa Tarde

Estou tentando executar alguns cálculos dinâmicos em um formulário, porem quando utilizo multiplicações ou valores fracionados o calculo não acontece, abaixo segue as funções para calculo.

public static function onCalcula($param)
{
$leitura_anterior = (float) str_replace('.', ',', $param['leitura_anterior']);
$leitura_atual = (float) str_replace('.', ',', $param['leitura_atual']);
$obj->consumo = number_format( $leitura_atual - $leitura_anterior);
//$obj->total = number_format($consumo * $valor_metro);
TForm::sendData('form_DespesaAguaImovel', $obj);
}

public static function onCalculaTotal($param)
{
$valor_metro = (float) str_replace('.', ',', $param['valor_metro']);
$consumo = (float) str_replace('.', ',', $param['consumo']);
$tarifa_basica = (float) str_replace('.', ',', $param['tarifa_basica']);
$obj->total = (real) number_format(($consumo * $valor_metro) + $tarifa_basica);
TForm::sendData('form_DespesaAguaImovel', $obj);
}

Grato pela atenção

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (1)


NR

Pablo, veja:
  1. <?php
  2. var_dump ( (float) '1.45');
  3. float(1.45)
  4. var_dump ( (float) '1,45');
  5. float(1)
  6. ?>


Você deve fazer o replace do ponto pela vírgula por último, somente na hora da exibição, pois a vírgula não é reconhecida como separador decimal