|
Вывод даты с учётом полученных значений | ☑ | ||
---|---|---|---|---|
0
pauk
26.01.22
✎
15:57
|
Помогите пожалуйста.
На курсе по программированию дали задание с вычислением времени до конца суток. Естественно выводятся часы, минуты и секунды. К примеру, "2 час. 11 мин. 46 сек.". Есть необязательная часть, чтобы выводился текст с учётом значений, т.е., например, "10 часов 23 минуты 15 секунд", но "3 часа 21 минута 23 секунды". Я знаю как это реализовать через цикл или условный оператор, но в задании четко сказано, что их использовать нельзя, потому что их не проходили, можно использовать только встроенные функции. Как это реализовать? |
|||
1
Ёпрст
26.01.22
✎
16:00
|
Формат
|
|||
2
Ёпрст
26.01.22
✎
16:00
|
И пРопись
|
|||
3
Ёпрст
26.01.22
✎
16:08
|
точнее, ЧислоПрописью
|
|||
4
Dmitrii
гуру
26.01.22
✎
16:21
|
Скорее ПолучитьСклоненияСтрокиПоЧислу.
ЧислоПрописью будет числа прописью выводить, а нам надо цифрами. |
|||
5
Ёпрст
26.01.22
✎
16:31
|
(4) да.. можно и так.
|
|||
6
Serg_1960
26.01.22
✎
16:32
|
х = НачалоДня(ТекущаяДата()) + (КонецДня(ТекущаяДата()) - ТекущаяДата());
Сообщить("" + Час(х) + " час. " + Минута(х) + " мин. " + Секунда(х) +" сек."); |
|||
7
Ёпрст
26.01.22
✎
16:34
|
||||
8
Ёпрст
26.01.22
✎
16:34
|
(6) ему нужно полностью
|
|||
9
Serg_1960
26.01.22
✎
16:45
|
(8) Я ответил на "дали задание"(0). А "необязательная часть" - мне не интересно писать склонение единиц измерения - это рутинная операция :)
|
|||
10
hhhh
26.01.22
✎
16:48
|
(9) вы, наверно, (0) не читали. Там спрашивают как раз именно про склонение.
|
|||
11
Serg_1960
26.01.22
✎
16:51
|
(10) Читал. У автор вопросы не только про склонение.
|
|||
12
Serg_1960
26.01.22
✎
17:45
|
К теме склонения секунд :)
КолСек = Секунда(ТекущаяДата()); х = КолСек - Цел(КолСек*0.1)*10; Сообщить(СокрП("" + КолСек + " секунд" + ?(КолСек > 9 И КолСек < 20,"", Сред(" аыыы ",х+1,1)))); |
|||
13
pauk
27.01.22
✎
11:33
|
(3) Спасибо, но ты не правильно понял вопрос, мне числа нужно не прописью, а только "полная форма слова" обозначающие час, минуту и секунду )
(4) Ага, вчера с одним знакомым нашли эту замечательную функцию ) (11) (12) только про склонения, и по коду - нельзя использовать условный оператор, а он тут есть ) я также думал ) _Вывод = ПолучитьСклоненияСтрокиПоЧислу("час", Час, "", "ПД=Именительный"); _Час = _Вывод[0]; _Вывод = (ПолучитьСклоненияСтрокиПоЧислу("минута", Минута, "", "ПД=Именительный")); _Минута = _Вывод[0]; Сообщить(_Час + _Минута); _Вывод = Новый Массив(); _Вывод[0] = (ПолучитьСклоненияСтрокиПоЧислу("час", Час, "", "ПД=Именительный")); _Вывод[1] = (ПолучитьСклоненияСтрокиПоЧислу("минута", Минута, "", "ПД=Именительный")); _Час = _Вывод[0]; _Минута = _Вывод[1]; Сообщить(_Час[0]+_Минута[0]); Собственно задачу решил двумя способами, здесь краткие формы без секунд и вычислений дат, ибо они ещё в предыдущей части заданий сделаны дабы предвосхитить вопрос "нафига через черту", я хз какие переменные уже в 1с по умолчанию, лишь перестраховка) И... я хоть и понимаю, что функция создаёт массив, при своей работе... но почему, когда я формирую одномерный массив, я могу просто запихнуть значение в переменную (первый код), а когда я формирую массив из 2х элементов и пытаюсь в переменную запихнуть определённый элемент массива, то пихается массив (второй код)? Собственно, если выводить _Час и _Минута без индекса, то программа выдаст слово "Массив", а не результат |
|||
14
Ёпрст
27.01.22
✎
13:54
|
(13) ПолучитьСклоненияСтрокиПоЧислу возвращает массив. Во "втором" как ты говоришь коде, ты уже в свой массив помещаешь еще один массив, у тебя элементы первого твоего массива - это тоже массив, полученный из ПолучитьСклоненияСтрокиПоЧислу . Так понятнее ?
|
|||
15
Ёпрст
27.01.22
✎
13:56
|
+(14 )
_Час = _Вывод[0]; //тут ты получаешь первый элемент своего массива, элемент этого массива - тоже массив, полученный из ПолучитьСклоненияСтрокиПоЧислу. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |