Hiltonmm 0 Denunciar post Postado Novembro 9, 2007 Bom dia Estou terminando um programinha em php mas esbarrei em um problema que nem sei como começar. bem o q eu tenho que fazer é o seguinte em uma consulta a uma das tabelas eu recebo um resultado de 23.33 o meu problema e o seguinte, eu tenho q pegar esse valor e fazer a seguite conta 23.33 * 20% = 4.666 so que eu tenho que arredondar esse resultado para Baixo despresando as casas exedentes o resultado real dessa conta deve ser 4.66. 23.33 * 5% = 1.1665 e o resultado real dessa deve ser 1.16 a minha conta comleta seria. 23.33 * 20% = 4.66 23.33 * 5% = 1.16 1.16 + 4.66 + 23.33 = 29.15 Eu não posso fazer a conta direto porque em alguns casos vai dar diferença 23.33 * 25% = 5.83 + 23.33 = 29.16 diferença de 1 centavo mas isso vai dar problema. Peço uma ajudinha para vocês pois já fiz o programa todo mas travei nessa parte e não sei nem como começar. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Novembro 9, 2007 Usa o number_format() Exemplo: $numero "1.1665"; $numero_final = number_format($numero,2,".","."); echo $numero_final; resultado vai lhe dar 1.16 Compartilhar este post Link para o post Compartilhar em outros sites
Hiltonmm 0 Denunciar post Postado Novembro 9, 2007 Usa o number_format() Exemplo: $numero "1.1665"; $numero_final = number_format($numero,2,".","."); echo $numero_final; resultado vai lhe dar 1.16 Amigo Otima dica só que o resultado que ta dando é 1.17 ou seja ele ta arredondando para + tem como você me dar outra ajudinha ai pq eu preciso de 1.16 Obrigadão Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Novembro 9, 2007 umm.... Olha.. naum sei como fazer.. dai fiz uma função simples para você poder utilizar... PHP <?function FormatarNumero( $numero, $casas ) { $n = explode('.', $numero); $decimais = substr($n[1],0,$casas); $resultado = $n[0].".".$decimais; return $resultado; } $numero = FormatarNumero("1.1665", "2"); echo $numero; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Hiltonmm 0 Denunciar post Postado Novembro 9, 2007 umm.... Olha.. naum sei como fazer.. dai fiz uma função simples para você poder utilizar... PHP <?function FormatarNumero( $numero, $casas ) { $n = explode('.', $numero); $decimais = substr($n[1],0,$casas); $resultado = $n[0].".".$decimais; return $resultado; } $numero = FormatarNumero("1.1665", "2"); echo $numero; ?> Muito Obrigado Pela ajuda Você me deu um ponto de partida para minha solução consegui resolver $a1 = "58.23"; $number1 = $a1 * 20 /100; $number2=explode(".",$number1); $number2[1]=substr($number2[1],0,2); $numero_novo = implode(".", $number2); echo "Número novo: $numero_novo"; Compartilhar este post Link para o post Compartilhar em outros sites