Advertisement
-Enigmos-

coins(AlcoholicVersion).js

Oct 29th, 2021
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function coins(input) {
  2.     let index = 0;
  3.     let change = input[index];
  4.     let whole = change[0];
  5.     if (Number(whole) > 1 && (change[1] === "." || change[1] === undefined)) {
  6.         whole = change[0] + " лева";
  7.     } else if (Number(whole) === 1 && (change[1] === "." || change[1] === undefined)) {
  8.         whole = change[0] + " лев";
  9.     } else {
  10.         whole = change[0] + change[1] + " лева";
  11.     }
  12.     let fraction = "и " + change[2] + change[3] + " стотинки";
  13.     if (change[2] === "." && change[3] === "0" && change [4] === "1") {
  14.         fraction = "и " + change[4] + " стотинка";
  15.     } else if (change[2] === "." && change[3] === "0") {
  16.         fraction = "и " + change[4] + " стотинки";
  17.     } else if (change[2] === ".") {
  18.         fraction = "и " + change[3] + change[4] + " стотинки";
  19.     } else if (change[2] === "0" && change[3] === "1") {
  20.         fraction = "и " + change[3] + " стотинка";
  21.     } else if (change[2] === "0") {
  22.         fraction = "и " + change[3] + " стотинки";
  23.     }
  24.     change = Number(input[index]);
  25.     let coinCounter = 0;
  26.    
  27.     let coins = [2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01];
  28.     let i = 0;
  29.     let result = "";
  30.  
  31.     while (change !== 0) {
  32.         if (change - coins[i] >= 0) {
  33.             change = Math.round(((change - coins[i]) + Number.EPSILON) * 100) / 100;
  34.             coinCounter++;
  35.             if (coins[i] === 2) {
  36.                 result += "" + "монета от " + coins[i] + " лева, ";
  37.             } else if (coins[i] === 1) {
  38.                 result += "" + "монета от " + coins[i] + " лев, ";
  39.             } else if (coins[i] === 0.01) {
  40.                 result += "" + "монета от " + coins[i] * 100 + " стотинка, "
  41.             } else if (coins[i] < 1) {
  42.                 result += "" + "монета от " + coins[i] * 100 + " стотинки, "
  43.             }
  44.         } else if (change - coins[i] < 0) {
  45.             i++;
  46.         }
  47.     }
  48.  
  49.     change = input[index];
  50.     result = result.slice(0, -2);
  51.     let pos = result.lastIndexOf(',');
  52.     let altchar = " и";
  53.     result = result.substring(0, pos) + altchar + result.substring(pos + 1);
  54.     if (Number(change) === 0) {
  55.         console.log(`Нямаме ресто.`);
  56.     } else if (change[0] === "0" && change[3] === "0" && (change[2] === "1" || change[2] === "2" || change[2] === "5")) {
  57.         console.log(`Рестото ни е ${fraction.slice(2)}. Машината ни го връща с ${coinCounter} монета от ${fraction.slice(2)}.`);
  58.     } else if (change[0] === "0" && change[3] !== "1") {
  59.         console.log(`Рестото ни е ${fraction.slice(2)}. Машината ни го връща с ${coinCounter} монети: ${result}.`);
  60.     } else if (change[0] === "0" && change[2] === "0") {
  61.         console.log(`Рестото ни е ${fraction.slice(2)}. Машината ни го връща с ${coinCounter} монета от ${fraction.slice(2)}.`);
  62.     } else if (change[0] === "0") {
  63.         console.log(`Рестото ни е ${fraction.slice(2)}. Машината ни го връща с ${coinCounter} монети: ${result}.`);
  64.     } else if (change[2] === ".") {
  65.         console.log(`Рестото ни е ${whole} ${fraction}. Машината ни го връща с ${coinCounter} монети: ${result}.`);
  66.     } else if (change[1] === undefined && change[0] > 2) {
  67.         console.log(`Рестото ни е ${whole}. Машината ни го връща с ${coinCounter} монети: ${result}.`);
  68.     } else if (change[1] === undefined) {
  69.         console.log(`Рестото ни е ${whole}. Машината ни го връща с ${coinCounter} монета от ${whole}.`);
  70.     } else if (change[1] !== ".") {
  71.         console.log(`Рестото ни е ${whole}. Машината ни го връща с ${coinCounter} монети: ${result}.`);
  72.     } else {
  73.         console.log(`Рестото ни е ${whole} ${fraction}. Машината ни го връща с ${coinCounter} монети: ${result}.`);
  74.     }
  75.    
  76. }
  77.  
  78. coins(["99.99"]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement