|
Отделение числа от символа управляемые формы | ☑ | ||
---|---|---|---|---|
0
JuixyJes
06.06.19
✎
17:34
|
Добрый вечер, форумчане! Помогите пожалуйста, нужна функция для управляемых форм для отделения числа от знака %
|
|||
1
MakaMaka
06.06.19
✎
17:35
|
что значит отделения числа? вам надо убрать символ из строки или что?
|
|||
2
shuhard
06.06.19
✎
17:38
|
(0 уже пятница ?
|
|||
3
Кодер
06.06.19
✎
17:39
|
Как у вас погода? Звали на большие деньги, холодного моря испугался.
Что пробовала сама сделать? |
|||
4
Фрэнки
06.06.19
✎
17:39
|
как только заканчивается четверг, так уже начиналась пятница
|
|||
5
Вафель
06.06.19
✎
17:39
|
большие - это 300к?
|
|||
6
Фрэнки
06.06.19
✎
17:42
|
(0) если по существу вопроса:
дай пример данных из которых тебе что-то там отделить нужно ( вероятно, что это какая-то строка символов, в которой есть % ? ) |
|||
7
JuixyJes
06.06.19
✎
17:45
|
(6) Допустим "10%" из них мне нужно только число 10 , чтобы совершать арифметические действия с ним.
&НаКлиентеНаСервереБезКонтекста Функция СтрокуВЧисло(СтрокаСЧислом) МассивСтрок = СтрРазделить(СтрокаСЧислом, "0123456789", Ложь); Для Каждого ТекСтрока из МассивСтрок Цикл СтрокаСЧислом = СтрЗаменить(СтрокаСЧислом, ТекСтрока, ""); КонецЦикла; Возврат (СтрокаСЧислом); КонецФункции |
|||
8
JuixyJes
06.06.19
✎
17:45
|
(7) Пробовала вот так
|
|||
9
JuixyJes
06.06.19
✎
17:47
|
(3) Погода - прекрасная! Сегодня +19 завтра +20 а в субботу и вовсе +26-30
|
|||
10
runoff_runoff
06.06.19
✎
17:51
|
это очень сложный вопрос.. вряд ли кто-то поможет..
|
|||
11
JuixyJes
06.06.19
✎
17:52
|
(10) Ахахах, очень забавно)) Я и сама впринципе понимаю что нужно сделать, и даже как это сделать, но не получается
|
|||
12
JuixyJes
06.06.19
✎
17:52
|
(7) В этой функции даже вижу заветную "10", но дальше результат принимает пустое значение
|
|||
14
Фрэнки
06.06.19
✎
17:53
|
(12) А что мешает сделать
СтрЗаменить(СтрокаСЧислом, "%", ""); Это при условии, что там, в этой строке встречаются только лишний % |
|||
15
Кодер
06.06.19
✎
17:53
|
На бумажке сделай, пойми - как ты хочешь это сделать.
Я бы читал по символу, если символ - не цифра или точка, то игнорировал. Если цифра, то умножила результат на 10 и добавил цифру. Если запятая, то чуть сложней. |
|||
16
MakaMaka
06.06.19
✎
17:54
|
Ну или статично написать. если 10% тогда число/10
|
|||
17
Кодер
06.06.19
✎
17:54
|
потом бы вспомнил, что результат надо инициализировать.
|
|||
18
MakaMaka
06.06.19
✎
17:54
|
(15) ерунда, ваш метод из 15.15% сделает 1515, за это надо отбивать шурундулы
|
|||
19
MakaMaka
06.06.19
✎
17:55
|
Надо просто делить на 10
|
|||
20
Кодер
06.06.19
✎
17:56
|
Чего отбивать??? Это вообще безопасно гуглить?
ЗЫ Автор, может на этапе ввода данных не давать вводить фигню? |
|||
21
Фрэнки
06.06.19
✎
17:57
|
(20) да не, она скорей всего разбирает какой-то перенос данных
|
|||
22
MakaMaka
06.06.19
✎
17:57
|
(20) автор не может, причем ничего.
(21) она разбирает, перенос данных? Тогда мы все в опасности |
|||
23
Фрэнки
06.06.19
✎
18:02
|
(22) А если она только учится? Пусть учится - пострадают кошки и то, только те, которые она сама себе придумала.
|
|||
24
MakaMaka
06.06.19
✎
18:03
|
Ломать она уже умеет, раз не понимает что 10% это 0,1 в типе число. Так что ликвидатор готов к боевой задачи. Пусть крушит
|
|||
25
MakaMaka
06.06.19
✎
18:04
|
(23) Если она хочет вменяемости, то пусть кажет буфера
|
|||
26
RomanYS
06.06.19
✎
18:10
|
Интересный факт.
В большей части вопросов про формы на мисте не будет указан их тип (УФ/ОФ). А здесь есть)) |
|||
27
MakaMaka
06.06.19
✎
18:13
|
(26) значит за аватаркой мужик. он нас троллит.
|
|||
28
novichok79
07.06.19
✎
07:10
|
накидал за пару минут
&НаКлиентеНаСервереБезКонтекста Функция СтрокуВЧисло(СтрокаСЧислом) Если СтрЗаканчиваетсяНа(СтрокаСЧислом, "%") Тогда Делитель = 100; Иначе Делитель = 1; КонецЕсли; РазрешенныеСимволы = "01234567890,."; НоваяСтрока = ""; Для Счетчик = 1 По СтрДлина(СтрокаСЧислом) Цикл Символ = Сред(СтрокаСЧислом, Счетчик, 1); Если СтрНайти(РазрешенныеСимволы, Символ) > 0 Тогда НоваяСтрока = НоваяСтрока + Символ; КонецЕсли; КонецЦикла; Если Не ПустаяСтрока(НоваяСтрока) Тогда РезультатФункции = Число(НоваяСтрока) / Делитель; Иначе РезультатФункции = 0; КонецЕсли; Возврат РезультатФункции; КонецФункции |
|||
29
Сияющий в темноте
07.06.19
✎
08:42
|
Начнем с того,что строку нужно парсить.
то есть,мы читаем число из строки до первого кривого символа,а потом по нему решаем,что делать. есть мнение,что если символ %,то надо умножать результат на 100. ну и,сначала нужно понять,что мы хотим получить в следующих случаях 10%15 11+22 12/3 3а8 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |