Имя: Пароль:
1C
1С v8
v8: Преобразование значения к типу Число не может быть выполнено !
, ,
0 zorg906
 
21.11.13
06:21
в чем дело с НашРезультат = Число(А) + Число(Б); не проблем


НашРезультат = Число(А) - Число(Б);  /// Преобразование значения к типу Число не может быть выполнено


    
/// надо указать что есть оператор = "-";




    Если Оператор = "+" Тогда
        НашРезультат = Число(А) + Число(Б);
        
    ИначеЕсли Оператор = "-" Тогда
        НашРезультат = Число(А) - Число(Б);  
    КонецЕсли;
    
    
    Возврат НашРезультат;
1 zorg906
 
21.11.13
06:22
надо указать что есть оператор = "-"; ???
2 zorg906
 
21.11.13
06:23
вот целый код






// Функция расчитывает результаты
&НаКлиенте
Функция РасчетРезультата()    
    А = 0;
    Б = 0;
    Индекс2 = 0;    // переменная для сохранения значения начала второго числа
    КоличествоСимволовВСтроке = СтрДлина(Результат);  // СтрДлина(<Строка>)
    НашРезультат = "";
    
    Оператор = "";
     Оператор = "-";
    // проходим циклом по строке
    Для Индекс=1 по КоличествоСимволовВСтроке Цикл
        КакойСейчасСимвол = Сред(Результат, Индекс,1);    // получить очередной символ из строки
        Если КакойСейчасСимвол = "+" Тогда
            Оператор = "+";
            ///  Сред(<Строка>, <НачальныйНомер>, <ЧислоСимволов>)
            А = Сред(Результат, 1, Индекс-1);
            Индекс2 = Индекс + 1;
        КонецЕсли
    КонецЦикла;
    
    Б = Сред(Результат, Индекс2, СтрДлина(Результат) - Индекс2+1);
    
    Если Оператор = "+" Тогда
        НашРезультат = Число(А) + Число(Б);
        
    ИначеЕсли Оператор = "-" Тогда
        НашРезультат = Число(А) - Число(Б);  
    КонецЕсли;
    
    
    Возврат НашРезультат;
    
    
КонецФункции
3 skunk
 
21.11.13
06:25
в каком-то варианте либо "а" либо "б" получают символ не цифру
4 Wobland
 
21.11.13
06:26
только Учитель может не пользоваться отладчиком, ибо его программы совершенны ещё до воплощения в коде
5 skunk
 
21.11.13
06:27
(4)зорг - великий сенсей?
6 zorg906
 
21.11.13
06:28
в  НашРезультат = Число(А) - Число(Б);




кстати я добавил оператор  Оператор = "-"; думаю он лишний
7 Лодырь
 
21.11.13
06:30
(4)
Так говорил учитель:
"Когда ты научишься ловить код
ошибки по точке останова, наступит твое
время уходить."
8 Wobland
 
21.11.13
06:37
(5) он сломал меня на второй версии калькулятора. когда появилась необходимость в кнопках 0-9
9 MiniMuk
 
21.11.13
06:38
Напиши чего нибудь типа
попытка
Если Оператор = "+" Тогда
        НашРезультат = Число(А) + Число(Б);
        
    ИначеЕсли Оператор = "-" Тогда
        НашРезультат = Число(А) - Число(Б);  
    КонецЕсли;
исключение
сообщить(А)
Сообщить(б)
сообщить(описаниеошибки())
конецпопытки
10 MiniMuk
 
21.11.13
06:39
после минуска скобка не идет?
11 KRV
 
21.11.13
06:40
(0) Не может быть!!!!
12 Noob_Of_1C
 
21.11.13
06:41
(0) Ну что мешает посмотреть значение А, значение Б, а также их типы?
13 MiniMuk
 
21.11.13
06:43
(12) интриги не будет, телепатические способности не разовьешь
14 Рэйв
 
21.11.13
06:44
(0)Может тебя познакомить с точками останова и подружить с табло отладчика?
15 anaed
 
21.11.13
06:52
(14) гораздо больше хочется подружить его табло с  чем нибудь тяжелым...

(0) что мешает использовать Вычислить(строка) ?
16 Wobland
 
21.11.13
06:55
коллеги, как вам это?

&НаКлиенте
Процедура Плюс(Команда)
    Объект.Операция="+";
    ПромежуточныйРезультат=Объект.Операнд1+Объект.Операнд2;
КонецПроцедуры

&НаКлиенте
Процедура Минус(Команда)
    Объект.Операция="-";
    ПромежуточныйРезультат=Объект.Операнд1-Объект.Операнд2;
КонецПроцедуры

&НаКлиенте
Процедура Умножить(Команда)
    Объект.Операция="*";
    ПромежуточныйРезультат=Объект.Операнд1*Объект.Операнд2;
КонецПроцедуры

&НаКлиенте
Процедура Разделить(Команда)
    Объект.Операция="/";
    ПромежуточныйРезультат=Объект.Операнд1/Объект.Операнд2;
КонецПроцедуры

&НаКлиенте
Процедура ПолучитьРезультат(Команда)
    Объект.Результат=ПромежуточныйРезультат;
КонецПроцедуры

&НаКлиенте
Процедура Очистить(Команда)
    Объект.Операнд1=0;
    Объект.Операнд2=0;
    Объект.Результат=0;
    ПромежуточныйРезультат=0;
    Объект.Операция="";
КонецПроцедуры
17 MiniMuk
 
21.11.13
07:04
(16) работатет? не трож (с)
18 anaed
 
21.11.13
07:08
(17) я так понимаю препод то что в (16) завернул и теперь тс изобретает вычислить
19 майкл3
 
21.11.13
07:11
опять забанили меня непонятно у них такая традиция :)
так что там у вас вопросы были???
20 майкл3
 
21.11.13
07:16
вот полная описание ошибкой

{Обработка.Калькулятор.Форма.ФормаКалькулятор.Форма(95)}: Преобразование значения к типу Число не может быть выполнено
        НашРезультат = Число(А) - Число(Б);
21 Wobland
 
21.11.13
07:19
(20) да мы поняли. познай силу точек останова и таблы. доступно через меню отладка
22 майкл3
 
21.11.13
07:22
ты про красную точку с стрелкой???
23 anaed
 
21.11.13
07:23
(19) ты походу один, кто не понимает за что его банят
24 Wobland
 
21.11.13
07:24
(22) да
25 Wobland
 
21.11.13
07:25
(23) с такой формулировкой Rie, конечно, погорячился. достаточно вспомнить вчерашнюю Катерину19 ;)
26 anaed
 
21.11.13
07:25
(22) ты посмотри как ты строку в цикле делишь, спорим у тебя при строке "7-2" в А хранится именно "7-2", которое ты пытаешься преобразовать в число.
27 Ярус
 
21.11.13
07:27
"пусти мене крашный крестик, шпасибо мэнэ зелая стрэлошка"
28 майкл3
 
21.11.13
07:30
Ну я это новичок ^_^ с точки проблем она теперь не убирается с серого левого краля

разве на Наш Результат = Число(А) + Число(Б);  не должен ставить точку условия?

красная точка по непонятным причинам не могу снять
29 Рэйв
 
21.11.13
07:33
(28)Джамшут,это ты?
30 Wobland
 
21.11.13
07:37
(28) следи внимательно за руками
&НаКлиенте
Процедура Рассчитать(Команда)
    Результат=Вычислить(Результат);
КонецПроцедуры
31 zakidonoff
 
21.11.13
07:38
(23) Если он будет подобные темы в оффтопе создавать - всё норм? -)
32 майкл3
 
21.11.13
07:42
ты смотрел конфу wild?
33 Wobland
 
21.11.13
07:44
(32) смотрел. 78 и 3 сложил верно, перепроверил на виндовом калькуляторе
34 майкл3
 
21.11.13
07:45
спасибо wild дай свой номер завтра поставлю на счет
35 Starhan
 
21.11.13
07:54
Где вы берете эти чудесные таблетки расширяющие сознание?
36 1dvd
 
21.11.13
07:55
(34) На счетчик его поставишь? Правильно. Давно пора опустить этого выскочку!

ЗЫ шутю :)
37 Лодырь
 
21.11.13
07:56
(35) Читаем Дао программирования на ночь
38 1dvd
 
21.11.13
07:56
Кстати, кто здесь wild - я так и не понял
39 майкл3
 
21.11.13
07:56
ну это способ еще раз меня!!!меня наверняка опять заблокирую жаль надеюсь когда-то у меня будет постоянный ник ))) в правде форум хорош но еще бы крута было если добавляли редактор сообщений!!!

Кстати не честно блокировать меня за то что посчитал ежемесячную зарплату Модератора ^_^ всем пока и всем спосибо
40 anaed
 
21.11.13
07:58
(35) присоединяюсь к вопросу, я бы взял парочку на завтра :)
41 майкл3
 
21.11.13
08:00
блин исправитель ошибок тупит )))  ну это спосиб еще раз! вот перевод первой строки ^_^
42 1dvd
 
21.11.13
08:00
(35) (40) Это уральские колючки. Новое слово в индустрии кайфа
43 майкл3
 
21.11.13
08:05
я вас не осуждаю за то что вы не можете говорить по германский  или на китайском! так что прошу быть разумно понимаются что я не русский человек и это естественное что буду написать текст с ошибками ^_^
44 Infsams654
 
21.11.13
08:06
Недавно пару тем забанили по калькулятору.
Это опять он же?
45 1dvd
 
21.11.13
08:07
(43) а ты немец или китаец?
46 Wobland
 
21.11.13
08:08
(43) ну уж скопировать имя можно было и без ошибок ;)
47 anaed
 
21.11.13
08:16
(44) да)
(43) это ж где живут такие изверги, которые заставляют не говорящего на русском создавать в 1с калькулятор, да еще и кодить на кириллице
48 Wobland
 
21.11.13
08:18
имхается мне, это какая-то из средних азий
49 Лефмихалыч
 
21.11.13
08:19
по ходу кто-то научил волнистого попугая адинэсить
50 Любопытная
 
21.11.13
08:22
Массивы будут?
51 майкл3
 
21.11.13
08:23
походу я спать пойду не спал всю ночь отправлюсь в мир сновидение! вместо тачек богатство и так далее
мне будет снится калькулятор как в прошлом ночью, я потратил 9 аккаунтов получил бан но все-таки я сделал калькулятор вправе не через массив ^_^
я извиняюсь за плохая изложение мысли и благодарен что мы наладили контакт)))
52 Любопытная
 
21.11.13
08:25
Какой няшка) Я прям тащусь от этого его ^_^ или как там он это делает)))
53 Wobland
 
21.11.13
08:25
а в каком часовом поясе уже утро? может, автор ближе к румынии?
(51) восстанавливай ману, запасайся свежими аккаунтами
54 Wobland
 
21.11.13
08:26
(52) это ты меня ещё в душе не видела
55 майкл3
 
21.11.13
08:28
Любопытная разве вам надо головная боль в это время мой коды  
это искусство головоломок ^_^
56 Любопытная
 
21.11.13
08:44
Майкл, я же не зря Любопытная, мне любопытно :) И я очень рада, что вы смогли решить свою задачу :)
57 Wobland
 
21.11.13
09:01
(56) ну не надо тут про "вы" ;)
58 майкл3
 
21.11.13
14:12
спасибо за заботу миссис Любопытная >_<
59 Wobland
 
21.11.13
15:22
(58) тактичней обращаться "мисс", если не знаешь семейного положения
60 майкл3
 
21.11.13
15:48
ОК :(   ^_^
61 Torquader
 
22.11.13
00:52
Я бы для общего развития посоветовал бы написать свою функцию преобразования строки в число, чтобы было понятно, что и как должно работать.

И вообще - лучше сразу писать парсер выражений - и опыта больше будет, и вероятность, что он получится - выше.
62 Infsams654
 
22.11.13
11:53
(61) польская нотация к примеру. А то, велосипед изобретает... (на это уже намекал в забанненных темах от )
63 zakidonoff
 
22.11.13
11:56
(59) Почему? 0_о
Мисс - это замужем.
Миссис - не замужем.
Миссис - косвенный комплимент по возрасту -)
64 acsent
 
22.11.13
11:57
(63) Комплимент? Ну если "тетенька" этот комплимент
65 acsent
 
22.11.13
11:58
(63) А, ты просто попутал слова
66 zakidonoff
 
22.11.13
11:59
(65) А, ну я просто перепутал...
Всю жизнь думал, что не замужем - это миссис -)
67 Wobland
 
22.11.13
12:03
я вас научу. "чудеснейшая" - и нет проблем
68 catena
 
22.11.13
12:09
(66)МиссИС - это мисс но уже с историей.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший