Números decimais em php, Me ajudem!!!
09/01/2018
0
Boa Tarde!!
Fiz um código em php + html que pega um valor no banco por ex.: 1,20 e gera o desconto que o usuário deseja, ou seja se ele quiser "Sacar" 0,80 centavos deste valor eu tenho q realizar esta conta automaticamente. Porem quando o valor se encaixa em casas decimais não consigo realizar a operação porque preciso comparar os campos. Vou tentar explicar a logica:
Eu tenho vários clientes cadastrados cada um possui um saldo disponível. O usuario pode escolher o valor que deseja sacar dentro do permitido(Que e a soma do valor de todos os clientes) então eu faço um while e vou retirando o valor de cada cliente se o valor zerar eu passo para o próximo ate o valor ser todo sacado.
Agora vamos a o problema suponhamos que eu tenha 0,45 centavos eu preciso comparar este valor no if, so q infelizmente ele não considera os valores depois da virgula, preciso comparar todas as casas decimais.
Qualquer solução ou luz e bem vinda.
Obrigado
Fiz um código em php + html que pega um valor no banco por ex.: 1,20 e gera o desconto que o usuário deseja, ou seja se ele quiser "Sacar" 0,80 centavos deste valor eu tenho q realizar esta conta automaticamente. Porem quando o valor se encaixa em casas decimais não consigo realizar a operação porque preciso comparar os campos. Vou tentar explicar a logica:
Eu tenho vários clientes cadastrados cada um possui um saldo disponível. O usuario pode escolher o valor que deseja sacar dentro do permitido(Que e a soma do valor de todos os clientes) então eu faço um while e vou retirando o valor de cada cliente se o valor zerar eu passo para o próximo ate o valor ser todo sacado.
Agora vamos a o problema suponhamos que eu tenha 0,45 centavos eu preciso comparar este valor no if, so q infelizmente ele não considera os valores depois da virgula, preciso comparar todas as casas decimais.
Qualquer solução ou luz e bem vinda.
Obrigado
Mateus Henrique
Curtir tópico
+ 0
Responder
Post mais votado
10/01/2018
PHP usa formato americano para numeros decimais e datas:
Data: YYYY-mm-dd
Decimais: 1000.00 (1.000,00)
Ou seja, em numeros decimais no php o separador decimal tem que ser ponto e não pode possuir separador de milhar.
use str_replace() pra substituir as strings de ponto por nada e virgula por ponto e depois transforme em floatval() essa variavel.
Data: YYYY-mm-dd
Decimais: 1000.00 (1.000,00)
Ou seja, em numeros decimais no php o separador decimal tem que ser ponto e não pode possuir separador de milhar.
use str_replace() pra substituir as strings de ponto por nada e virgula por ponto e depois transforme em floatval() essa variavel.
$valor = "1,25"; $valorAmericano = str_replace(",",".", str_replace(".","",$valor)); $valorFloat = floatval($valorAmericano);
Alex William
Responder
Clique aqui para fazer login e interagir na Comunidade :)