как преобразовать число в текст?
-
Проще говоря чтобы дату "25 мая 2018 года" бас преобразовал в: "двадцать пятое мая две тысячи восемнадцатого года"
-
@corclubs
http://usefulscript.ru/time_in_words.php
http://mathhelpplanet.com/static.php?p=javascript-data-propisyu
-
@Lokko js код для меня сложный
-
@corclubs said in как преобразовать число в текст?:
25 мая 2018 года
если формат будет дд.мм.гггг, то так
PropisData("25.05.2018")
результат будет: двадцать пятое мая две тысячи восемнадцатого года
https://onlinegdb.com/SnDCDo7sM
-
@mt-NATS а как начать использовать данный код?
-
@corclubs said in как преобразовать число в текст?:
а как начать использовать данный код?
вставить код в действие "Выполнить код"
PropisData = function (data) //аргумент data должен быть строкой { //Проверка, соответствует ли дата формату ДД.ММ.ГГГГ if ( !/^\d\d\.\d\d\.\d\d\d\d$/.test(data) ) { return "не является датой по григорианскому календарю в формате ДД.ММ.ГГГГ"; } var d = +data.substr(0, 2), //день m = +data.substr(3, 2), //месяц y = +data.substr(6, 4); //год //Проверка, корректная ли дата по григорианскому календарю // До 1582 г. все года н.э., делящиеся на 4, считаются високосными, // после только те года, которые делятся на 4 и не деляться на 100 или делятся на 400; // если нужно учитывать високосные года до принятия григорианского календаря в России в 1918 г., // то замените в коде выражение "y < 1582" на "y < 1918". if (d == 0 || m == 0 || m > 12 || y == 0 || ((m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) && d > 31) || ((m == 4 || m == 6 || m == 9 || m == 11) && d > 30) || (m == 2 && !(d < 29 || (d < 30 && y % 4 == 0 && (y < 1582 || y % 100 != 0 || y % 400 == 0)))) ) { return "не является датой по григорианскому календарю в формате ДД.ММ.ГГГГ"; } var Day1, Month1, Year1, Year2, Year3, Year4, Year5, Year6, Year7, Year8, yearPropis; Day1 = ["", "первое ", "второе ", "третье ", "четвёртое ", "пятое ", "шестое ", "седьмое ", "восьмое ", "девятое ", "десятое ", "одиннадцатое ", "двенадцатое ", "тринадцатое ", "четырнадцатое ", "пятнадцатое ", "шестнадцатое ", "семнадцатое ", "восемнадцатое ", "девятнадцатое ", "двадцатое ", "двадцать первое ", "двадцать второе ", "двадцать третье ", "двадцать четвёртое ", "двадцать пятое ", "двадцать шестое ", "двадцать седьмое ", "двадцать восьмое ", "двадцать девятое ", "тридцатое ", "тридцать первое "]; Month1 = ["", "января ", "февраля ", "марта ", "апреля ", "мая ", "июня ", "июля ", "августа ", "сентября ", "октября ", "ноября ", "декабря "]; Year1 = ["", "первого ", "второго ", "третьего ", "четвёртого ", "пятого ", "шестого ", "седьмого ", "восьмого ", "девятого "]; Year8 = ["", "одиннадцатого ", "двенадцатого ", "тринадцатого ", "четырнадцатого ", "пятнадцатого ", "шестнадцатого ", "семнадцатого ", "восемнадцатого ", "девятнадцатого "]; Year2 = ["", "десятого ", "двадцатого ", "тридцатого ", "сорокового ", "пятидесятого ", "шестидесятого ", "семидесятого ", "восьмидесятого ", "девяностого "]; Year3 = ["", "сотого ", "двухсотого ", "трёхсотого ", "четырёхсотого ", "пятисотого ", "шестисотого ", "семисотого ", "восьмисотого ", "девятисотого "]; Year4 = ["", "тысячного ", "двухтысячного ", "трёхтысячного ", "четырёхтысячного ", "пятитысячного ", "шеститысячного ", "семитысячного ", "восьмитысячного ", "девятитысячного "]; Year5 = ["", "", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто "]; Year6 = ["", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот "]; Year7 = ["", "тысяча ", "две тысячи ", "три тысячи ", "четыре тысячи ", "пять тысяч ", "шесть тысяч ", "семь тысяч ", "восемь тысяч ", "девять тысяч "]; y = y + ""; if (y.length == 4) //Проверка 4-х значных годов: 1000,1001,...,9999 { if (+y % 1000 == 0) { yearPropis = Year4[+y.substr(0, 1)]; //1000,2000,...,9000 } else if (+y % 100 == 0) { yearPropis = Year7[+y.substr(0, 1)] + Year3[+y.substr(1, 1)]; //1100,1200,...,9900 } else { yearPropis = Year7[+y.substr(0, 1)] + Year6[+y.substr(1, 1)]; if (+y % 10 == 0) { yearPropis += Year2[+y.substr(2, 1)]; } else if (+y.substr(2, 2) < 10) { yearPropis += Year1[+y.substr(3, 1)]; } else if (+y.substr(2, 2) < 20) { yearPropis += Year8[+y.substr(3, 1)]; } else { yearPropis += Year5[+y.substr(2, 1)] + Year1[+y.substr(3, 1)]; } } } else if (y.length == 3) //Проверка 3-х значных годов: 100,101,...,999 { if (+y % 100 == 0) { yearPropis = Year3[+y.substr(0, 1)]; } else if (+y % 10 == 0) { yearPropis = Year6[+y.substr(0, 1)] + Year2[+y.substr(1, 1)]; } else if (+y.substr(1, 2) < 10) { yearPropis = Year6[+y.substr(0, 1)] + Year1[+y.substr(2, 1)]; } else if (+y.substr(1, 2) < 20) { yearPropis = Year6[+y.substr(0, 1)] + Year8[+y.substr(2, 1)]; } else { yearPropis = Year6[+y.substr(0, 1)] + Year5[+y.substr(1, 1)] + Year1[+y.substr(2, 1)]; } } else if (y.length == 2) //Проверка 2-х значных годов: 10,11,...,99 { if (+y % 10 == 0) { yearPropis = Year2[+y.substr(0, 1)]; } else if (+y.substr(0, 2) < 20) { yearPropis = Year8[+y.substr(1, 1)]; } else { yearPropis = Year5[+y.substr(0, 1)] + Year1[+y.substr(1, 1)]; } } else { yearPropis = Year1[+y]; } return (Day1[d] + Month1[m] + yearPropis + "года"); } log (PropisData('25.05.2018'))
-
@bigorat нет, Вы не поняли, выполнить код - это логично, но потом как обратиться к данному коду с данными, чтобы получить потом преобразованные данные?
-
@corclubs Вот эту страку замени на свою переменную
log (PropisData('[[MOYA_PEREMENNAYA]]'))
и вызывай этот кубик выполнить код, после того как поменяешь дату.
Если надо вернуть, то соответственно, замени вывод в лог на:
[[PROPIS]] = PropisData('[[MOYA_DATA]]')
-
@Bigma точнее вот так
[[YOU_VARIADBLE]] = PropisData('[[MOYA_PEREMENNAYA]]')
-
@bigorat said in как преобразовать число в текст?:
@Bigma точнее вот так
[[YOU_VARIADBLE]] = PropisData('[[MOYA_PEREMENNAYA]]')
В таком случае вы передаёте в функцию не значение переменной, а просто текст
[[MOYA_PEREMENNAYA]]
-
@Fox Плю́сы нужны? Я в Ява скриптах плаваю. Ты лучше сразу правильный пример приводи, быстрей научимся.
-
@Bigma said in как преобразовать число в текст?:
@Fox Плю́сы нужны? Я в Ява скриптах плаваю. Ты лучше сразу правильный пример приводи, быстрей научимся.
Передавать нужно переменную без кавычек
[[YOU_VARIADBLE]] = PropisData([[MOYA_PEREMENNAYA]])
-
@Fox а ну да, ковычки стрингуют. Слушай, а вот не по теме. В действии запретить запрос правильно так
*moysite.ru*
Или все же так
.*moysite\.ru.*
???
-
@Bigma said in как преобразовать число в текст?:
@Fox а ну да, ковычки стрингуют. Слушай, а вот не по теме. В действии запретить запрос правильно так
*moysite.ru*
Или все же так
.*moysite\.ru.*
???
Действие "запретить запрос" не использует регекспы, допускается только знак
*
для обозначения маски запроса.Значение квантора
1 или более
, то есть для ссылкиhttps://www.google.com
сработает маска
*google.com
и не сработает маска
*google.com*