//ÐлаÑÑ Formatter Ð¸Ð¼ÐµÐµÑ Ð´Ð²Ð° ÑÑаÑиÑнÑÑ Ð¼ÐµÑода - вÑÐ²Ð¾Ð´Ð¸Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ валÑÑÑ (ÑÑбли) в пÑавилÑном Ñклонении //и вÑÐ²Ð¾Ð´Ð¸Ñ Ð´ÐµÑÑÑиÑнÑÑ Ð´ÑÐ¾Ð±Ñ Ð² виде ÑÑÑоки Ñ Ð´Ð²ÑÐ¼Ñ Ð·Ð½Ð°ÐºÐ°Ð¼Ð¸ поÑле деÑÑÑиÑного делиÑÐµÐ»Ñ public class Formatter { public static String currencyName (double value){ //ÐозвÑаÑÐ°ÐµÑ Ñлово "ÑÑблÑ" в пÑавилÑном виде в завиÑимоÑÑи Ð¾Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑва ÑÑблей //Ð ÐÐЬЮÐРУ: в ТРк Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ ÑеÑко пÑопиÑано, как должно ÑклонÑÑÑÑÑ Ñлово "ÑÑблÑ": без ÑÑеÑа копеек! То еÑÑÑ, "1.35 ÑÑблÑ", а не "1.35 ÑÑблей". //ÐеÑод ÑабоÑÐ°ÐµÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ñак, как Ñказано в ТРif ((int)value%100 >= 11 && (int)value%100 <= 14){ return "ÑÑблей"; } else { return switch (((int) value % 10)) { case 1 -> "ÑÑблÑ"; case 2, 3, 4 -> "ÑÑблÑ"; default -> "ÑÑблей"; }; } } public static String doubleFormat (double value){ //ÐозвÑаÑÐ°ÐµÑ Ð´ÑÐ¾Ð±Ñ Ð² виде ÑÑÑоки в нÑжном ÑоÑмаÑе return String.format("%.2f", value); } }