Muito bom! Até que achei fácil e fiz quase tudo igual. Apenas usei ".numfmt_format_currency($padrao, $salario, "BRL")." na formatação, conforme mostrado em um dos desafios anteriores. Mais uma vez, agradeço por mais esse excelente curso!
Uma forma que eu achei para não dar erro com a parte float foi multiplicar o valor do salário por 100 antes de usar o operador % e depois dividir novamente por 100 para obter a parte fracionária com duas casas decimais. Pois estava apresntando erro de precisão com float. $fracaoDoSalario = ($salario * 100) % ($salarioMinimo * 100) / 100;
Salve mestre, eu segui a seguinte lógica, primeiro calculei quantas vezes o salário que a pessoa informou cabe no salário mínimo ( ganho cinco mil reais então tenho 5 salários minimos de mil reais) e depois peguei esse valor inteiro, depois na diferença eu subtrai a quantidade do salário mínimo (tres salarios minimos vezes mil) pelo o que a pessoa informou ai consegui os centavos tranquilamente.
Antes de assistir a solução do exercício eu usei o resto da divisão mas fiquei muito incomodado com os centavos. No final das contas utilizei essa solução:
Olá @Cursoemvideo Gostei muito da abordagem do vídeo. Eu gostaria de enviar-lhe um e-mail com alguns questionamentos sobre carreira. Não há nenhuma pergunta específica sobre código ou coisa assim, ainda não sei programar, mas tem relação com o conteúdo do vídeo. Eu estou a fazer essas mesmas perguntas para outros produtores de conteúdo sobre programação. Se sim, eu ficarei muito grato. Abraços.
A forma de não apresentar erro é usando *Erro apresentado:* Deprecated: Implicit conversion from float 1380.6 to int loses precision in *Solução* $total = intdiv($salario, round($minimo)); $dif = $salario % round($minimo);
Para não aparecer nada ? 00 ; Quando nada é digitado na caixa está perfeito porquê quando coloquei para aparecer a variável $salário = $_GET ['sal'] ?? salário; Deu um erro
o Guanabara o seu codigo tem um erro, porque 8500 dividido pra 1380,6 da 6 salario mínimos mesmo mas n da 220 de soma n pq se vc pegar 6 vezes 1380,6 da o valor de 8.283,6 somando com o restante de 220 fica 8.503,6
Tratamento de erro, caso valor seja menor que valor do salário minimo. So coloquei uma condiçao pra if, se colocar salário menor que 1 salario mininio gera erro ,ficou assim , talvez alguem se incomede de colocar 800 reais da erro estranho, inicie variavel $sobra =0; junto valor incial do salario minimo: ficando assim $salario = $_GET['salario'] ?? 1320; $salariominino = 1320; $sobra =0; $nsalario = (int)($salario/$salariominino); if($salario>$salariominino) $sobra = $salario%$salariominino; ele so vai validar a sobra se a sobrar for maior que salário minimo, como assim , exemplo se voce receber no mes 1000 reais, não for maior que salário minino ele não irá fazer a divisão não gerar o resto, valor será 0.
@@tauansilva9723 Cara, chatgpt não tem a capacidade de um ser humano em diversas tarefas, ele não consegue substituir um humano, pode apenas auxiliar em alguns casos.
Ae Guaranabara eu acabei esquecendo de colocar o escape no "R$" e descobri que ele funcionou sem problemas... echo "Quem recebe um salário de R$5.000,00 ganha $int salários mínimos + R$".number_format($resto, 2, ",", ".")."." Não deu erro... analisa ai se quiser...
Quando fiz o desafio nao tinha me atentado que o resto estava saindo como INT e nao FLOAT, nesse caso pesquisei na blibioteca e encontrei uma formula que é usada pra aparecer os centavos ### fmod($dividendo, $divisor) ### , meu código ficou assim:
So para dar um up. O operador "%" e para resto de divisao inteira. No caso, como estamos trabalhando com numeros reais, para calcular o seu modulo tem essa funcao do PHP fmod(). Muito util.
Ola professor guanabara queremos o curso intermediario de Js por favor!
cara eu vi o guanabara envelhecer em video slk kkkkkkkkk, to acabando o curso de python agora e ja vou começar o php e cara kkkk, q doidera isso
Muito bom! Até que achei fácil e fiz quase tudo igual. Apenas usei ".numfmt_format_currency($padrao, $salario, "BRL")." na formatação, conforme mostrado em um dos desafios anteriores.
Mais uma vez, agradeço por mais esse excelente curso!
fiz isso também
Uma forma que eu achei para não dar erro com a parte float foi multiplicar o valor do salário por 100 antes de usar o operador % e depois dividir novamente por 100 para obter a parte fracionária com duas casas decimais. Pois estava apresntando erro de precisão com float.
$fracaoDoSalario = ($salario * 100) % ($salarioMinimo * 100) / 100;
Esta forma funciona.
Muito bom!
maravilha a sua didática
a parte fracionaria eu sempre uso V_Int=int( a/b) e Resto= (a/b) - V_Int
Função fmod() que retorna o restante da divisão de dois números de ponto flutuante de forma precisa:
dif = fmod($salario, $minimo);
Obrigado, Gustavo!
Usei alguns ifs e elses para plurais .... Obrigado Guanabara vc manda muito bem cara....
mt obg guanabaarrraaaa
Professor top que didática
Parabéns, muito bem explicado!
Salve mestre, eu segui a seguinte lógica, primeiro calculei quantas vezes o salário que a pessoa informou cabe no salário mínimo ( ganho cinco mil reais então tenho 5 salários minimos de mil reais) e depois peguei esse valor inteiro, depois na diferença eu subtrai a quantidade do salário mínimo (tres salarios minimos vezes mil) pelo o que a pessoa informou ai consegui os centavos tranquilamente.
esse desafio eu resolvi colocar o "$padrão = numfmt_create("pt-BR", NumberFormatter::CURRENCY);" para o número ficar bonitinho
No campo não coloquei deixei em branco, porém funcionou normalmente.
Alguém avisa o governo que o Guanabara aumentou o salário mínimo 😅😂🤑
Para aparecer os centavos resolvi da seguinte maneira:
$salario = $_POST["salario"];
$salario_min = 1412;
$quociente = (int)($salario / $salario_min);
$resto = $salario - ($salario_min * $quociente);
deu certinho esse pra mim
Antes de assistir a solução do exercício eu usei o resto da divisão mas fiquei muito incomodado com os centavos.
No final das contas utilizei essa solução:
Top a sua solução. A minha foi esta ->$resto =(( $salario*100)%($sal_minimo*100))/100;
a minha foi a mesma!!!!
$resto = $salario - ($salariomin*$divisao);
eu fiz assim, até ia usar o módulo, mas vi que os centavos somem então decidi ficar assim mesmo
Minha lógica ficou quase parecido
$resto = $salario - ((int)$qntsal * $minimo);
O Guanabara vai ter curso novo de paython
Olá @Cursoemvideo
Gostei muito da abordagem do vídeo.
Eu gostaria de enviar-lhe um e-mail com alguns questionamentos sobre carreira.
Não há nenhuma pergunta específica sobre código ou coisa assim, ainda não sei programar, mas tem relação com o conteúdo do vídeo. Eu estou a fazer essas mesmas perguntas para outros produtores de conteúdo sobre programação.
Se sim, eu ficarei muito grato.
Abraços.
Onde consigo esse código css ?
A forma de não apresentar erro é usando
*Erro apresentado:*
Deprecated: Implicit conversion from float 1380.6 to int loses precision in
*Solução*
$total = intdiv($salario, round($minimo));
$dif = $salario % round($minimo);
Guanabara no meu não deu certo esse underline separando a casa de 1000 do $minimo. Precisa ativar alguma configuração?
😁para aparecer os centavos tambe:
Para não aparecer nada ? 00 ;
Quando nada é digitado na caixa está perfeito porquê quando coloquei para aparecer a variável
$salário = $_GET ['sal'] ?? salário;
Deu um erro
Não deu erro no código mas sim um erro de lógica
os vídeos aqui da playlist do RUclips são mais atuais que o do site? estou fazendo HTML por lá e a gravação parece antiga, alguém me ajuda?
Tem dois cursos de HTML e CSS do Curso em Vídeo, um de 2010 e outro de 2020.
o Guanabara o seu codigo tem um erro, porque 8500 dividido pra 1380,6 da 6 salario mínimos mesmo mas n da 220 de soma n pq se vc pegar 6 vezes 1380,6 da o valor de 8.283,6 somando com o restante de 220 fica 8.503,6
o php n esta conseguindo dividir exatamente com a virgula
Primeiro eu acho
Tratamento de erro, caso valor seja menor que valor do salário minimo. So coloquei uma condiçao pra if, se colocar salário menor que 1 salario mininio gera erro ,ficou assim , talvez alguem se incomede de colocar 800 reais da erro estranho,
inicie variavel $sobra =0; junto valor incial do salario minimo: ficando assim
$salario = $_GET['salario'] ?? 1320;
$salariominino = 1320;
$sobra =0;
$nsalario = (int)($salario/$salariominino);
if($salario>$salariominino)
$sobra = $salario%$salariominino;
ele so vai validar a sobra se a sobrar for maior que salário minimo, como assim , exemplo se voce receber no mes 1000 reais, não for maior que salário minino ele não irá fazer a divisão não gerar o resto, valor será 0.
to quase desistindo da programacao
Por que?
Desiste não, vai ser recompensado no futuro.
@@awaxdem2013 e o chatgpt?
@@tauansilva9723 Cara, chatgpt não tem a capacidade de um ser humano em diversas tarefas, ele não consegue substituir um humano, pode apenas auxiliar em alguns casos.
Ae Guaranabara eu acabei esquecendo de colocar o escape no "R$" e descobri que ele funcionou sem problemas...
echo "Quem recebe um salário de R$5.000,00 ganha $int salários mínimos + R$".number_format($resto, 2, ",", ".")."."
Não deu erro... analisa ai se quiser...
Quando fiz o desafio nao tinha me atentado que o resto estava saindo como INT e nao FLOAT, nesse caso pesquisei na blibioteca e encontrei uma formula que é usada pra aparecer os centavos ### fmod($dividendo, $divisor) ### , meu código ficou assim:
So para dar um up.
O operador "%" e para resto de divisao inteira. No caso, como estamos trabalhando com numeros reais, para calcular o seu modulo tem essa funcao do PHP fmod(). Muito util.
Professor, como o senhor pediu, segue a solução sem a diferença de centavos:
Desafio PHP 007
Iforme seu Salário
Função fmod() que retorna o restante da divisão de dois números de ponto flutuante de forma precisa:
dif = fmod($salario, $minimo);