Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

montano

[Resolvido] valor nao esta passando apos virgula

Recommended Posts

boa tarde,

//tabela comissao
	   if ($areanet == "Sim")
	   {
		$comissao = '40,00';
		}
		else
		{
		 $comissao = '80,00';
		}
		
		if($pacote2 != "")
		{
		$comissao = $comissao + '15,00';
		}
		
		if ($plano == "Deb.Conta")
		{
		 $comissao = $comissao + '5,00';
		}

	   $sql="INSERT INTO tb_tv_cred_com VALUES ('','".mysql_insert_id()."','$formatadavenda','$comissao')";
   $result = mysql_query($sql);

ele esta tirando o ",00" do meu valor, se eu dar um echo no $comissao, vai aparecer "xx,xx" mas quando faz o insert fica assim, "xx". ele tira os dois zeros.. la no banco o campo esta como varchar.

 

oq esta acontecendo? :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO

 

 

function formata($numero)
{
	if(strpos($numero,'.')!='')
	{
		   $var=explode('.',$numero);
		   if(strlen($var[0])==4)
		   {
			 $parte1=substr($var[0],0,1);
			 $parte2=substr($var[0],1,3);
			 if(strlen($var[1])<2)
			 {
			 	$formatado=$parte1.'.'.$parte2.','.$var[1].'0';
			 }else
			 {
			 	$formatado=$parte1.'.'.$parte2.','.$var[1];
			 }
		   }
		   elseif(strlen($var[0])==5)
		   {
			 $parte1=substr($var[0],0,2);
			 $parte2=substr($var[0],2,3);
			 if(strlen($var[1])<2)
			 {
			 	$formatado=$parte1.'.'.$parte2.','.$var[1].'0';
			 }
			 else
			 {
			 	$formatado=$parte1.'.'.$parte2.','.$var[1];
			 }
		   }
		   elseif(strlen($var[0])==6)
		   {
			 $parte1=substr($var[0],0,3);
			 $parte2=substr($var[0],3,3);
			 if(strlen($var[1])<2)
			 {
			 	$formatado=$parte1.'.'.$parte2.','.$var[1].'0';
			 }
			 else
			 {
			 	$formatado=$parte1.'.'.$parte2.','.$var[1];
			 }
		   }
		   elseif(strlen($var[0])==7)
		   {
			 $parte1=substr($var[0],0,1);
			 $parte2=substr($var[0],1,3);
			 $parte3=substr($var[0],4,3);
			 if(strlen($var[1])<2)
			 {
			 	$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0';
			 }
			 else
			 {
			 $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1];
			 }
		   }
		   elseif(strlen($var[0])==8)
		   {
			 $parte1=substr($var[0],0,2);
			 $parte2=substr($var[0],2,3);
			 $parte3=substr($var[0],5,3);
			 if(strlen($var[1])<2){
			 $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0';
			 }else{
			 $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1];
			 }
		   }
		   elseif(strlen($var[0])==9)
		   {
			 $parte1=substr($var[0],0,3);
			 $parte2=substr($var[0],3,3);
			 $parte3=substr($var[0],6,3);
			 if(strlen($var[1])<2)
			 {
			 	$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0';
			 }
			 else
			 {
			 	$formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1];
			 }
		   }
		   elseif(strlen($var[0])==10)
		   {
			 $parte1=substr($var[0],0,1);
			 $parte2=substr($var[0],1,3);
			 $parte3=substr($var[0],4,3);
			 $parte4=substr($var[0],7,3);
			 if(strlen($var[1])<2)
			 {
			 	$formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.$var[1].'0';
			 }
			 else
			 {
			 	$formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.$var[1];
			 }
		   }
		   else
		   {
			 if(strlen($var[1])<2)
			 {
				 $formatado=$var[0].','.$var[1].'0';
			 }
			 else
			 {
				 $formatado=$var[0].','.$var[1];
			 }
		   }
	  }
	  else
	  {
		 $var=$numero;
	   if(strlen($var)==4)
	   {
		 $parte1=substr($var,0,1);
		 $parte2=substr($var,1,3);
		 $formatado=$parte1.'.'.$parte2.','.'00';
	   }
	   elseif(strlen($var)==5)
	   {
		 $parte1=substr($var,0,2);
		 $parte2=substr($var,2,3);
		 $formatado=$parte1.'.'.$parte2.','.'00';
	   }
	   elseif(strlen($var)==6)
	   {
		 $parte1=substr($var,0,3);
		 $parte2=substr($var,3,3);
		 $formatado=$parte1.'.'.$parte2.','.'00';
	   }
	   elseif(strlen($var)==7)
	   {
		 $parte1=substr($var,0,1);
		 $parte2=substr($var,1,3);
		 $parte3=substr($var,4,3);
		 $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00';
	   }
	   elseif(strlen($var)==8)
	   {
		 $parte1=substr($var,0,2);
		 $parte2=substr($var,2,3);
		 $parte3=substr($var,5,3);
		 $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00';
	   }
	   elseif(strlen($var)==9)
	   {
		 $parte1=substr($var,0,3);
		 $parte2=substr($var,3,3);
		 $parte3=substr($var,6,3);
		 $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00';
	   }
	   elseif(strlen($var)==10)
	   {
		 $parte1=substr($var,0,1);
		 $parte2=substr($var,1,3);
		 $parte3=substr($var,4,3);
		 $parte4=substr($var,7,3);
		 $formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.'00';
	   }
	   else
	   {
		 $formatado=$var.','.'00';
	   }
	}
	  return $formatado;
}

$comissao = formata($comissao);

	   $sql="INSERT INTO tb_tv_cred_com VALUES ('','".mysql_insert_id()."','$formatadavenda','$comissao')";
   $result = mysql_query($sql);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use campos corretos no banco de dados e evite fazer gambiarra, com campo correto para valor monetario voce pode fazer qualquer tipo de consulta com qualquer conta matematica que o banco entenderá

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qualquer campo Float, por exemplo DECIMAL(10,2)

 

mesma coisa com datas quando se usa o campo correto pra salvar datas, você facilmente pode fazer consultas comando, subtraindo datas ou qualquer coisa que quiser fazer com datas, se tiver no campo errado isso nao é possivel

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.