![]() |
![]() |
![]() |
|
Обработка не считает более 3х символов :( | ☑ | ||
---|---|---|---|---|
0
corbeau
02.07.13
✎
11:04
|
ДлинаСтроки = СтрДлина(Число1);
Сумма = 0; Для Шаг = 1 По ДлинаСтроки Цикл БуферСимволовСтроки = Число(Прав(Лев(Число1,Шаг),1)); Сумма = Сумма + БуферСимволовСтроки; КонецЦикла; При вводе более трех цифр вылетает следующее: {Форма.Форма.Форма(59)}: Преобразование значения к типу Число не может быть выполнено БуферСимволовСтроки = Число(Прав(Лев(Число1,Шаг),1)); |
|||
1
corbeau
02.07.13
✎
11:05
|
Все это во внешней обработке. Если кто-то знает как решить проблему, помогите плз...
|
|||
2
Лодырь
02.07.13
✎
11:07
|
Число1 в студию
|
|||
3
corbeau
02.07.13
✎
11:07
|
1111111
|
|||
4
ale-sarin
02.07.13
✎
11:07
|
Потому что разделитель разрядов.
|
|||
5
drcrasher
02.07.13
✎
11:08
|
кто-нибудь, переведите мне вот это:
БуферСимволовСтроки = Число(Прав(Лев(Число1,Шаг),1)); |
|||
6
ale-sarin
02.07.13
✎
11:08
|
(3) А теперь в отладчике проверь Стрдлина(1111111)
|
|||
7
Alex375
02.07.13
✎
11:08
|
через "Формат" получи строку представления числа и работай с ней.
|
|||
8
ale-sarin
02.07.13
✎
11:09
|
(5) Автор не знает про Сред()
|
|||
9
zak555
02.07.13
✎
11:09
|
Для Шаг = 1 По ДлинаСтроки Цикл
что = Сред(Число1, Шаг, 1); Если Найти("0123456789", что) > 0 Тогда Сумма = Сумма + Число(что); конецЕСли; КонецЦикла; |
|||
10
Лодырь
02.07.13
✎
11:09
|
(5)Это такая кривая реализация функции Сред(Число1,Шаг,1)
|
|||
11
Lama12
02.07.13
✎
11:09
|
(4) +1
|
|||
12
Maxus43
02.07.13
✎
11:09
|
ДлинаСтроки = СтрДлина(СтрЗаменить(Строка(Число1), Символы.НПП, ""))
|
|||
13
corbeau
02.07.13
✎
11:10
|
По-моему да...спасибо большое
|
|||
14
zak555
02.07.13
✎
11:10
|
(12) не учёл буквы
|
|||
15
Fragster
гуру
02.07.13
✎
11:10
|
(12) с какой-нибудь французской локалью работать не будет
|
|||
16
Aleks73
02.07.13
✎
11:10
|
(12)+1
отладчик спасет отца русской демократии (С) |
|||
17
ale-sarin
02.07.13
✎
11:12
|
(12) Тогда уж Стрдлина(Формат(Число, "ЧГ="))
|
|||
18
Maxus43
02.07.13
✎
11:18
|
(14) какие буквы в числе?
(15) французы они такие французы... (17) юзаю символы НПП обычно, по привычке... |
|||
19
corbeau
02.07.13
✎
11:19
|
ДлинаСтроки = СтрДлина(Число1);
Сумма = 0; Для Шаг = 1 По ДлинаСтроки Цикл БуферСимволовСтроки = Сред(Число1,Шаг,1); //БуферСимволовСтроки = Число(Прав(Лев(Число1,Шаг),1)); Сумма = Сумма + Число(БуферСимволовСтроки); КонецЦикла; Ошибка: Та же самая. |
|||
20
corbeau
02.07.13
✎
11:19
|
(4) - думаю дело в разделителе
|
|||
21
ДенисЧ
02.07.13
✎
11:19
|
(19) ты прав. Ошибка в ДНК...
|
|||
22
Maxus43
02.07.13
✎
11:19
|
(19) ты читал вобще? (12)(17)?
|
|||
23
zak555
02.07.13
✎
11:20
|
(19) сравни с (9)
|
|||
24
ale-sarin
02.07.13
✎
11:20
|
(19) дааа. А сути-то парень не уловил.
|
|||
25
zak555
02.07.13
✎
11:20
|
(18)
1.8е |
|||
26
exwill
02.07.13
✎
11:23
|
(19) У тебя 4(четвертый) символ - ДОЛБАНЫЙ ПРОБЕЛ.
|
|||
27
Maxus43
02.07.13
✎
11:23
|
(25) ты реально думаешь что у автора это есть? Это в типовых не предусмотрено, напиши петицию на селезнёвку
|
|||
28
zak555
02.07.13
✎
11:27
|
(27) это число 18
|
|||
29
drcrasher
02.07.13
✎
11:28
|
(8)(10) спасибо.
(0) суть задачи - посчитать сумму цифр в строке? |
|||
30
corbeau
02.07.13
✎
11:29
|
Замена1 = СтрЗаменить(Строка(Число1), Символы.НПП, "");
ДлинаСтроки = СтрДлина(Замена1); Сумма = 0; Для Шаг = 1 По ДлинаСтроки Цикл БуферСимволовСтроки = Сред(Замена1,Шаг,1); Сумма = Сумма + БуферСимволовСтроки; КонецЦикла; Предупреждение("Сумма = " + Сумма); |
|||
31
corbeau
02.07.13
✎
11:29
|
Получилось, спасибо большое!
|
|||
32
zak555
02.07.13
✎
11:30
|
(30) ты код из (9) смотрел ?
|
|||
33
drcrasher
02.07.13
✎
11:30
|
(30) открой СП и ознакомься с Формат()
|
|||
34
drcrasher
02.07.13
✎
11:31
|
(32) не мешай, пусть учится.
|
|||
35
zak555
02.07.13
✎
11:35
|
(34) в ветке не было универсального решения
|
|||
36
zak555
02.07.13
✎
11:46
|
функция суммаРазрядов(Чис НатуральноеЧисло)
Результат = 0; пока НатуральноеЧисло <> 0 цикл Результат = Результат + НатуральноеЧисло %10; НатуральноеЧисло = Цел(НатуральноеЧисло /10); конецЦикла; возврат результат + НатуральноеЧисло %10; конецФункции |
|||
37
corbeau
02.07.13
✎
11:47
|
Все отлично объяснили) Все заработало. Пасиб
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |