/nueva_venta/factura/conversor.php

https://gitlab.com/gustCL/syscar · PHP · 547 lines · 454 code · 17 blank · 76 comment · 139 complexity · fd76083cfec6700f082761b6d4101a96 MD5 · raw file

  1. <?php
  2. /*function unidad($numuero){
  3. switch ($numuero)
  4. {
  5. case 9:
  6. {
  7. $numu = "NUEVE";
  8. break;
  9. }
  10. case 8:
  11. {
  12. $numu = "OCHO";
  13. break;
  14. }
  15. case 7:
  16. {
  17. $numu = "SIETE";
  18. break;
  19. }
  20. case 6:
  21. {
  22. $numu = "SEIS";
  23. break;
  24. }
  25. case 5:
  26. {
  27. $numu = "CINCO";
  28. break;
  29. }
  30. case 4:
  31. {
  32. $numu = "CUATRO";
  33. break;
  34. }
  35. case 3:
  36. {
  37. $numu = "TRES";
  38. break;
  39. }
  40. case 2:
  41. {
  42. $numu = "DOS";
  43. break;
  44. }
  45. case 1:
  46. {
  47. $numu = "UNO";
  48. break;
  49. }
  50. case 0:
  51. {
  52. $numu = "";
  53. break;
  54. }
  55. }
  56. return $numu;
  57. }*/
  58. function unidad($numero){
  59. //echo "<br>";
  60. $siHaydecimal=explode(".",$numero);
  61. @$numerito=$siHaydecimal[1];
  62. //$numerito=$numerito/1000;
  63. //$divi=strlen($numerito);
  64. /*$generando=1;
  65. for($tra=0;$tra<$divi-1;$tra++){
  66. $generando=$generando."0";
  67. }
  68. $numerito=$numerito/$generando;*/
  69. //$numerito=ceil($numerito);
  70. $siHaydecimal[1]=$numerito;
  71. if(@$siHaydecimal[1]>=1){
  72. if($siHaydecimal[0]=='9'){
  73. $numu="NUEVE CON ".$siHaydecimal[1];
  74. }else{
  75. if($siHaydecimal[0]=='8'){
  76. $numu="OCHO CON ".$siHaydecimal[1];
  77. }else{
  78. if($siHaydecimal[0]=='7'){
  79. $numu="SIETE CON ".$siHaydecimal[1];
  80. }else{
  81. if($siHaydecimal[0]=='6'){
  82. $numu="SEIS CON ".$siHaydecimal[1];
  83. }else{
  84. if($siHaydecimal[0]=='5'){
  85. $numu="CINCO CON ".$siHaydecimal[1];
  86. }else{
  87. if($siHaydecimal[0]=='4'){
  88. $numu="CUATRO CON ".$siHaydecimal[1];
  89. }else{
  90. if($siHaydecimal[0]=='3'){
  91. $numu="TRES CON ".$siHaydecimal[1];
  92. }else{
  93. if($siHaydecimal[0]=='2'){
  94. $numu="DOS CON ".$siHaydecimal[1];
  95. }else{
  96. if($siHaydecimal[0]=='1'){
  97. $numu="UNO CON ".$siHaydecimal[1];
  98. }else{
  99. if($siHaydecimal[0]=='0'){
  100. $numu=" ".$siHaydecimal[1];
  101. }
  102. }
  103. }
  104. }
  105. }
  106. }
  107. }
  108. }
  109. }
  110. }
  111. return $numu;
  112. }else{
  113. switch ($numero)
  114. {
  115. case 9:
  116. {
  117. $numu = "NUEVE";
  118. break;
  119. }
  120. case 8:
  121. {
  122. $numu = "OCHO";
  123. break;
  124. }
  125. case 7:
  126. {
  127. $numu = "SIETE";
  128. break;
  129. }
  130. case 6:
  131. {
  132. $numu = "SEIS";
  133. break;
  134. }
  135. case 5:
  136. {
  137. $numu = "CINCO";
  138. break;
  139. }
  140. case 4:
  141. {
  142. $numu = "CUATRO";
  143. break;
  144. }
  145. case 3:
  146. {
  147. $numu = "TRES";
  148. break;
  149. }
  150. case 2:
  151. {
  152. $numu = "DOS";
  153. break;
  154. }
  155. case 1:
  156. {
  157. $numu = "UNO";
  158. break;
  159. }
  160. case 0:
  161. {
  162. $numu = "";
  163. break;
  164. }
  165. }
  166. return $numu;
  167. }
  168. }
  169. function decena($numdero){
  170. $numdero=number_format($numdero,2);
  171. if ($numdero >= 90 && $numdero <= 99.99)
  172. {
  173. $partir=explode(".", $numdero);
  174. $ente=$partir[0];
  175. $deci=$partir[1];
  176. if ($ente==90) {
  177. $numd = "NOVENTA ";
  178. if ($deci>0) {
  179. $numd = $numd."CON ".$deci;
  180. }
  181. }else{
  182. $numd = "NOVENTA ";
  183. if ($numdero > 90)
  184. $numd = $numd."Y ".(unidad($numdero - 90));
  185. }
  186. }
  187. else if ($numdero >= 80 && $numdero <= 89.99)
  188. {
  189. $partir=explode(".", $numdero);
  190. $ente=$partir[0];
  191. $deci=$partir[1];
  192. if ($ente==80) {
  193. $numd = "OCHENTA ";
  194. if ($deci>0) {
  195. $numd = $numd."CON ".$deci;
  196. }
  197. }else{
  198. $numd = "OCHENTA ";
  199. if ($numdero > 80)
  200. $numd = $numd."Y ".(unidad($numdero - 80));
  201. }
  202. }
  203. else if ($numdero >= 70 && $numdero <= 79.99)
  204. {
  205. $partir=explode(".", $numdero);
  206. $ente=$partir[0];
  207. $deci=$partir[1];
  208. if ($ente==70) {
  209. $numd = "SETENTA ";
  210. if ($deci>0) {
  211. $numd = $numd."CON ".$deci;
  212. }
  213. }else{
  214. $numd = "SETENTA ";
  215. if ($numdero > 70)
  216. $numd = $numd."Y ".(unidad($numdero - 70));
  217. }
  218. }
  219. else if ($numdero >= 60 && $numdero <= 69.99)
  220. {
  221. $partir=explode(".", $numdero);
  222. $ente=$partir[0];
  223. $deci=$partir[1];
  224. if ($ente==60) {
  225. $numd = "SESENTA ";
  226. if ($deci>0) {
  227. $numd = $numd."CON ".$deci;
  228. }
  229. }else{
  230. $numd = "SESENTA ";
  231. if ($numdero > 60)
  232. $numd = $numd."Y ".(unidad($numdero - 60));
  233. }
  234. }
  235. else if ($numdero >= 50 && $numdero <= 59.99)
  236. {
  237. $partir=explode(".", $numdero);
  238. $ente=$partir[0];
  239. $deci=$partir[1];
  240. if ($ente==50) {
  241. $numd = "CINCUENTA ";
  242. if ($deci>0) {
  243. $numd = $numd."CON ".$deci;
  244. }
  245. }else{
  246. $numd = "CINCUENTA ";
  247. if ($numdero > 50)
  248. $numd = $numd."Y ".(unidad($numdero - 50));
  249. }
  250. }
  251. else if ($numdero >= 40 && $numdero <= 49.99)
  252. {
  253. $partir=explode(".", $numdero);
  254. $ente=$partir[0];
  255. $deci=$partir[1];
  256. if ($ente==40) {
  257. $numd = "CUARENTA ";
  258. if ($deci>0) {
  259. $numd = $numd."CON ".$deci;
  260. }
  261. }else{
  262. $numd = "CUARENTA ";
  263. if ($numdero > 40){
  264. $numd = $numd."Y ".(unidad($numdero - 40));
  265. }
  266. }
  267. }
  268. else if ($numdero >= 30 && $numdero <= 39.99)
  269. {
  270. $partir=explode(".", $numdero);
  271. $ente=$partir[0];
  272. $deci=$partir[1];
  273. if ($ente==30) {
  274. $numd = "TREINTA ";
  275. if ($deci>0) {
  276. $numd = $numd."CON ".$deci;
  277. }
  278. }else{
  279. $numd = "TREINTA ";
  280. if ($numdero > 30){
  281. $numd = $numd." Y ".(unidad($numdero - 30));
  282. }
  283. }
  284. }
  285. else if ($numdero >= 20 && $numdero <= 29.99)
  286. {
  287. $partir=explode(".", $numdero);
  288. $ente=$partir[0];
  289. $deci=$partir[1];
  290. if ($ente == 20){
  291. $numd = "VEINTE ";
  292. if ($deci>0) {
  293. $numd = $numd."CON ".$deci;
  294. }
  295. }
  296. else{
  297. $numd = "VEINTE ".(unidad($numdero - 20));
  298. }
  299. }
  300. else if ($numdero >= 10 && $numdero <= 19.99)
  301. {
  302. switch ($numdero){
  303. case 10:
  304. {
  305. $numd = "DIEZ ";
  306. break;
  307. }
  308. case 11:
  309. {
  310. $numd = "ONCE ";
  311. break;
  312. }
  313. case 12:
  314. {
  315. $numd = "DOCE ";
  316. break;
  317. }
  318. case 13:
  319. {
  320. $numd = "TRECE ";
  321. break;
  322. }
  323. case 14:
  324. {
  325. $numd = "CATORCE ";
  326. break;
  327. }
  328. case 15:
  329. {
  330. $numd = "QUINCE ";
  331. break;
  332. }
  333. case 16:
  334. {
  335. $numd = "DIECISEIS ";
  336. break;
  337. }
  338. case 17:
  339. {
  340. $numd = "DIECISIETE ";
  341. break;
  342. }
  343. case 18:
  344. {
  345. $numd = "DIECIOCHO ";
  346. break;
  347. }
  348. case 19:
  349. {
  350. $numd = "DIECINUEVE ";
  351. break;
  352. }
  353. }
  354. }
  355. else
  356. $numd = unidad($numdero);
  357. return $numd;
  358. }
  359. function centena($numc){
  360. if ($numc >= 100)
  361. {
  362. if ($numc >= 900 && $numc <= 999.99)
  363. {
  364. $numce = "NOVECIENTOS ";
  365. if ($numc > 900)
  366. $numce = $numce.(decena($numc - 900));
  367. }
  368. else if ($numc >= 800 && $numc <= 899.99)
  369. {
  370. $numce = "OCHOCIENTOS ";
  371. if ($numc > 800)
  372. $numce = $numce.(decena($numc - 800));
  373. }
  374. else if ($numc >= 700 && $numc <= 799.99)
  375. {
  376. $numce = "SETECIENTOS ";
  377. if ($numc > 700)
  378. $numce = $numce.(decena($numc - 700));
  379. }
  380. else if ($numc >= 600 && $numc <= 699.99)
  381. {
  382. $numce = "SEISCIENTOS ";
  383. if ($numc > 600)
  384. $numce = $numce.(decena($numc - 600));
  385. }
  386. else if ($numc >= 500 && $numc <= 599.99)
  387. {
  388. $numce = "QUINIENTOS ";
  389. if ($numc > 500)
  390. $numce = $numce.(decena($numc - 500));
  391. }
  392. else if ($numc >= 400 && $numc <= 499.99)
  393. {
  394. $numce = "CUATROCIENTOS ";
  395. if ($numc > 400)
  396. $numce = $numce.(decena($numc - 400));
  397. }
  398. else if ($numc >= 300 && $numc <= 399.99)
  399. {
  400. $numce = "TRESCIENTOS ";
  401. if ($numc > 300)
  402. $numce = $numce.(decena($numc - 300));
  403. }
  404. else if ($numc >= 200 && $numc <= 299.99)
  405. {
  406. $numce = "DOSCIENTOS ";
  407. if ($numc > 200)
  408. $numce = $numce.(decena($numc - 200));
  409. }
  410. else if ($numc >= 100 && $numc <= 199.99)
  411. {
  412. if ($numc <= 100.99)
  413. $numce = "CIEN ".(decena($numc - 100));
  414. else
  415. $numce = "CIENTO ".(decena($numc - 100));
  416. }
  417. }
  418. else
  419. $numce = decena($numc);
  420. return $numce;
  421. }
  422. function miles($nummero){
  423. /* echo "MILES: ".$nummero;
  424. echo "-";
  425. echo $nummero-1000;
  426. echo "<br>";*/
  427. if ($nummero >= 1000 && $nummero < 2000){
  428. $numm = "UN MIL ".(centena($nummero-1000));
  429. }
  430. if ($nummero >= 2000 && $nummero <10000){
  431. $ver_decimal=explode(".",$nummero);
  432. $primera=$nummero/1000;
  433. //echo "<br>";
  434. $primera=substr($primera,0,1);
  435. //echo "<br>";
  436. $primera=$primera*1000;
  437. //echo "<br>";
  438. $entero=$ver_decimal[0];
  439. //echo "<br>";
  440. $resta=$entero-$primera;
  441. //echo "<br>";
  442. @$decimal=$ver_decimal[1];
  443. //echo "<br>";
  444. $resta=$resta.".".$decimal;
  445. //echo $sacar_dec=$nummero-$entero;
  446. $numm = unidad(Floor($nummero/1000))." MIL ".(centena($resta));
  447. }
  448. if ($nummero < 1000)
  449. $numm = centena($nummero);
  450. return $numm;
  451. }
  452. function decmiles($numdmero){
  453. if ($numdmero == 10000)
  454. $numde = "DIEZ MIL";
  455. if ($numdmero > 10000 && $numdmero <20000){
  456. $numde = decena(Floor($numdmero/1000))."MIL ".(centena($numdmero%1000));
  457. }
  458. if ($numdmero >= 20000 && $numdmero <100000){
  459. $numde = decena(Floor($numdmero/1000))." MIL ".(miles($numdmero%1000));
  460. }
  461. if ($numdmero < 10000)
  462. $numde = miles($numdmero);
  463. return $numde;
  464. }
  465. function cienmiles($numcmero){
  466. if ($numcmero == 100000)
  467. $num_letracm = "CIEN MIL";
  468. if ($numcmero >= 100000 && $numcmero <1000000){
  469. $num_letracm = centena(Floor($numcmero/1000))." MIL ".(centena($numcmero%1000));
  470. }
  471. if ($numcmero < 100000)
  472. $num_letracm = decmiles($numcmero);
  473. return $num_letracm;
  474. }
  475. function millon($nummiero){
  476. if ($nummiero >= 1000000 && $nummiero <2000000){
  477. $num_letramm = "UN MILLON ".(cienmiles($nummiero%1000000));
  478. }
  479. if ($nummiero >= 2000000 && $nummiero <10000000){
  480. $num_letramm = unidad(Floor($nummiero/1000000))." MILLONES ".(cienmiles($nummiero%1000000));
  481. }
  482. if ($nummiero < 1000000)
  483. $num_letramm = cienmiles($nummiero);
  484. return $num_letramm;
  485. }
  486. function decmillon($numerodm){
  487. if ($numerodm == 10000000)
  488. $num_letradmm = "DIEZ MILLONES";
  489. if ($numerodm > 10000000 && $numerodm <20000000){
  490. $num_letradmm = decena(Floor($numerodm/1000000))."MILLONES ".(cienmiles($numerodm%1000000));
  491. }
  492. if ($numerodm >= 20000000 && $numerodm <100000000){
  493. $num_letradmm = decena(Floor($numerodm/1000000))." MILLONES ".(millon($numerodm%1000000));
  494. }
  495. if ($numerodm < 10000000)
  496. $num_letradmm = millon($numerodm);
  497. return $num_letradmm;
  498. }
  499. function cienmillon($numcmeros){
  500. if ($numcmeros == 100000000)
  501. $num_letracms = "CIEN MILLONES";
  502. if ($numcmeros >= 100000000 && $numcmeros <1000000000){
  503. $num_letracms = centena(Floor($numcmeros/1000000))." MILLONES ".(millon($numcmeros%1000000));
  504. }
  505. if ($numcmeros < 100000000)
  506. $num_letracms = decmillon($numcmeros);
  507. return $num_letracms;
  508. }
  509. function milmillon($nummierod){
  510. if ($nummierod >= 1000000000 && $nummierod <2000000000){
  511. $num_letrammd = "MIL ".(cienmillon($nummierod%1000000000));
  512. }
  513. if ($nummierod >= 2000000000 && $nummierod <10000000000){
  514. $num_letrammd = unidad(Floor($nummierod/1000000000))." MIL ".(cienmillon($nummierod%1000000000));
  515. }
  516. if ($nummierod < 1000000000)
  517. $num_letrammd = cienmillon($nummierod);
  518. return $num_letrammd;
  519. }
  520. function convertir($numero){
  521. $numf = milmillon($numero);
  522. $esdecimal=0;
  523. $esdecimal=explode(".",$numero);
  524. if(@$esdecimal[1]>=1){
  525. return $numf."/100";
  526. }else{
  527. return $numf." 00/100";
  528. }
  529. }
  530. ?>