|
|
|
(ПривестиЗначение) Ошибка: Неправильная константа типа Число | ☑ | ||
|---|---|---|---|---|
|
0
Grumax
25.06.10
✎
11:26
|
// Для перевода строки в чилсло, необходимо задать описание типов
КЧ = Новый КвалификаторыЧисла(15, 6) ; КС = Новый КвалификаторыСтроки(20) ; ОписаниеТипаЧисло = Новый ОписаниеТипов("Число", КЧ) ; ОписаниеТипаСтрока = Новый ОписаниеТипов("Строка", КС) ; стрСтрока = "12357,85" ; чисЧисло = ОписаниеТипаЧисло.ПривестиЗначение( стрСтрока ) ; стрСтрока = стрЗаменить(ОписаниеТипаСтрока.ПривестиЗначение( чисЧисло ), " ", "") ; Выполнить("чисЦифра = " + стрСтрока) чисЧисло = чисЦифра + 10 //{(1,12)}: Неправильная константа типа Число //чисЦифра = <<?>>12 357,85 //{(1,18)}: Неопознанный оператор //чисЦифра = 12 357<<?>>,85 Что делаю не так? |
|||
|
1
Defender aka LINN
25.06.10
✎
11:31
|
Аще жесть...
Про функцию "Число()" что-нибудь слышал? |
|||
|
2
Buster007
25.06.10
✎
11:36
|
(0) с Индии?
|
|||
|
3
Grumax
25.06.10
✎
11:46
|
(1) Только начинаю писать, так что всех функций ещё не знаю, спасибо за подсказку... Не помогло!
// Для перевода строки в чилсло, необходимо задать описание типов Перем чисЦифра ; КЧ = Новый КвалификаторыЧисла(15, 6) ; КС = Новый КвалификаторыСтроки(20) ; ОписаниеТипаЧисло = Новый ОписаниеТипов("Число", КЧ) ; ОписаниеТипаСтрока = Новый ОписаниеТипов("Строка", КС) ; стрСтрока = "12357,85" ; //чисЧисло = ОписаниеТипаЧисло.ПривестиЗначение( стрСтрока ) ; //стрСтрока = стрЗаменить(ОписаниеТипаСтрока.ПривестиЗначение( чисЧисло ), " ", "") ; чисЧисло = Число( стрСтрока ) ; стрСтрока = Строка( чисЧисло ) ; Выполнить("чисЦифра = " + стрСтрока + " + 10") ; чисЧисло = чисЦифра + 10 ; //{(1,12)}: Неправильная константа типа Число //чисЦифра = <<?>>12 357,85 + 10 //{(1,18)}: Неопознанный оператор //чисЦифра = 12 357<<?>>,85 + 10 |
|||
|
4
Defender aka LINN
25.06.10
✎
11:48
|
(3) Ты в коде числовую константу пишешь как "12357,85", да?
|
|||
|
5
Grumax
25.06.10
✎
11:49
|
(2) Хоть код и выглядит странным, но так должно быть, я его написал для упрощения восприятия, последовательность именно такая строку в число, потом число в строку и подстановка в строковое выражение, получить результат!
|
|||
|
6
Grumax
25.06.10
✎
11:50
|
(4) Я хочу чтобы работало ВЫПОЛНИТЬ() или её аналог, но принцип тот же
ЧисЦифра = 12357,85 + 10 = 12367,85 |
|||
|
7
Vitello
25.06.10
✎
11:50
|
(0)Давай, рассказывай что делать хочешь. С самого начала.
|
|||
|
8
Grumax
25.06.10
✎
11:51
|
(5) Написал
|
|||
|
9
Defender aka LINN
25.06.10
✎
11:51
|
(6) Я у тебя не спрашиваю, что ты хочешь. Я спросил конкретную вещь.
|
|||
|
10
Vitello
25.06.10
✎
11:51
|
перемСтрока = "1234567";
перемЧисло = Число(перемСтрока); перемСтрокаПреобр = Строка(перемЧисло); |
|||
|
11
Vitello
25.06.10
✎
11:53
|
Тока перед преобразованием строки в число надо либо проверять что в строке только цифры, либо всю конструкцию засовывать в попытку, и обрабатывать исключение. Поскольку а = Число("124354апапарн") выдаст ошибкама.
|
|||
|
12
Grumax
25.06.10
✎
12:14
|
(4) Да числовую константу хочу писать как "12357,85", но в отладке он мне рисует "12 357,85", думаю в этом загвоздка, но ф.СтрЗаменить() результатов не дала..
|
|||
|
13
Grumax
25.06.10
✎
12:15
|
(10) у меня тожн самое, не вижу решения, ошибка в ф.Выполнить(), что нужно сделать, чтобы она работала? ))
|
|||
|
14
zbv
25.06.10
✎
12:19
|
в СтрЗаменить() - заменять нужно не " " (пробел), а неразрывный пробел.
а вообще для этих целей используй Формат. |
|||
|
15
zbv
25.06.10
✎
12:20
|
+ (14) для преобразования числа в строку.
|
|||
|
16
73
25.06.10
✎
12:31
|
||||
|
17
Grumax
25.06.10
✎
13:21
|
То: (14) и (16) Спасибо!
Сделать разделитель целой и дробной части "ЧРД=." и убрать неразрывные пробелы "ЧГ=0": стрСтрока = Формат(чисЧисло, "ЧЦ=15; ЧДЦ=6; ЧРД=.; ЧГ=0"); |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |