PHP - DIVISION EN MONEDAS

   
Vista:

DIVISION EN MONEDAS

Publicado por pedro (2 intervenciones) el 29/03/2015 18:58:12
Buenas tardes,

quiero dividir una cantidad de dinero en el menor número de billetes y monedas posibles. He creado una función, y el código y funciona perfectamente, pero me gustaría simplificarlo, agradezco vuestra ayuda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
function cambio($n4){
$billetes50 = 	(int)(($n4)/50);
	if ($billetes50 >0){
		echo 'tengo '.$billetes50.' billetes de 50',"<br>";
		$quedan =(($n4) - ($billetes50 * 50));}
$billetes20 =  (int)($quedan/20);
	if ($billetes20>0){
		echo 'tengo '.$billetes20.' billetes de 20',"<br>";
		$quedan =$quedan - ($billetes20*20);}
$billetes10 =  (int)($quedan/10);
	if ($billetes10>0){
		echo 'tengo '.$billetes10.' billetes de 20',"<br>";
		$quedan = $quedan - ($billetes10*10);}
$billetes5 =  (int)($quedan/5);
	if ($billetes5>0){
		echo 'tengo '.$billetes5.' billetes de 5',"<br>";
		$quedan =$quedan - ($billetes5*5);}
$monedas2 =  (int)($quedan/2);
	if ($monedas2>0){
		echo 'tengo '.$monedas2.' monedas de 2',"<br>";
		$quedan =$quedan - ($monedas2*2);}
$monedas1 =  (int)($quedan/1);
	if ($monedas1>0){
		echo 'tengo '.$monedas1.' monedas de 1',"<br>";
		$quedan =round(($quedan - ($monedas1*1)),2);
		echo 'quedan'. $quedan,"<br>";}
$monedas50c =  (int)(($quedan)/0.50);
	if ($monedas50c>0){
		echo 'tengo '.$monedas50c.' monedas de 50c',"<br>";
		$quedan =($quedan) - ($monedas50c*0.5);}
$monedas20c =  (int)(($quedan)/0.20);
	if ($monedas20c>0){
		echo 'tengo '.$monedas20c.' monedas de 20c',"<br>";
		$quedan =($quedan) - ($monedas20c*0.2);	}
$monedas10c =  (int)(($quedan)/0.1);
	if ($monedas10c>0){
		echo 'tengo '.$monedas10c.' monedas de 10c',"<br>";
		$quedan =($quedan) - ($monedas10c*0.1);	}
$monedas5c =  (int)(($quedan)/0.05);
	if ($monedas5c>0){
		echo 'tengo '.$monedas5c.' monedas de 5c',"<br>";
		$quedan =($quedan) - ($monedas5c*0.05);}
$monedas2c =  (int)(($quedan)/0.02);
	if ($monedas2c){
		echo 'tengo '.$monedas2c.' monedas de 2c',"<br>";
		$quedan =round((($quedan) - ($monedas2c*0.02)),2);}
	if ($quedan>0)
	{echo 'tengo ',($quedan*100),' monedas de 1c',"<br>";}
}
	echo cambio(57.82);
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

DIVISION EN MONEDAS

Publicado por xve (5513 intervenciones) el 29/03/2015 20:01:04
Hola Pedro, aqui tienes un ejemplo que realice hace tiempo, que veras que utiliza un poco menos de código:

http://www.lawebdelprogramador.com/codigo/JavaScript/2905-Desglosar-un-importe-en-monedas.html

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

DIVISION EN MONEDAS

Publicado por pedro (2 intervenciones) el 01/04/2015 20:32:49
Muchas gracias,

funciono.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

DIVISION EN MONEDAS

Publicado por xve (5513 intervenciones) el 06/04/2015 11:20:38
Por si lo deseas, aquí tienes un ejemplo en PHP

http://www.lawebdelprogramador.com/codigo/PHP/3123-Desglosar-un-importe-en-billetes-y-monedas.html

Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar