|
Конвертация строки в число | ☑ | ||
---|---|---|---|---|
0
Sasha_uu
10.10.13
✎
09:16
|
Есть таблица значений, в ней есть колонки с типом значение число. Написал обработку которая считывает данные из текстового файла, в итоге Значение= число(Строка) при упаковке в строку таблицы значения получатся 999999,99999. В отладчике смотрел Число(Строка) отражает нормальное число. Как это победить?
|
|||
1
Эмбеддер
10.10.13
✎
09:18
|
разрядность увеличить надо
|
|||
2
Sasha_uu
10.10.13
✎
09:19
|
Разрядность у колонки?
|
|||
3
Sasha_uu
10.10.13
✎
09:21
|
(1) не помогло
|
|||
4
Aleksey T
10.10.13
✎
09:23
|
Что за текстовый файл? Может из-за непечатыемых символов? например неразрывный пробел(в экселе ставится автомат между разрядами) и надо сначала заменить Символы.ПС на "". Или я неправильно понял проблемы
|
|||
5
Godofsin
10.10.13
✎
09:23
|
Попробуй округлять
|
|||
6
Balabass
10.10.13
✎
09:23
|
А куда выводится 99999,999999? в табличную часть или в макет?
|
|||
7
Бледно Золотистый
10.10.13
✎
09:23
|
(3) рассказывай что делал
|
|||
8
Sasha_uu
10.10.13
✎
09:25
|
(4) простой текстовый файл, там число написано в виде 156,256
|
|||
9
Sasha_uu
10.10.13
✎
09:25
|
все получилось, увеличил разрядность числа и все корректно загрузилось
|
|||
10
dsdred
10.10.13
✎
09:26
|
Нужен пример того, что ты пытаешься "запихать" и Тип данных колонки в которую ты хочешь запихать.
|
|||
11
dsdred
10.10.13
✎
09:31
|
ЯчейкаЧисло=СтрЗаменить(ЧислоСТрока, ",",".")*1;
|
|||
12
Эмбеддер
10.10.13
✎
09:39
|
(12) 1С не умеет умножать строку на число
|
|||
13
IVT_2009
10.10.13
✎
09:40
|
не плохо еще помогало число(формат(стрЧисло,"ДФ="))
|
|||
14
dsdred
10.10.13
✎
09:43
|
(12) что же оно у меня умеет, а у Вас нет?
Попробуйте и будете удивлены. |
|||
15
Эмбеддер
10.10.13
✎
09:52
|
(14)
"1"+1 = "11" "1"*1 = 1 да, чудеса)))) |
|||
16
samozvanec
10.10.13
✎
10:00
|
(14) никто не умеет, есть неявные приведения
|
|||
17
Sabbath
10.10.13
✎
10:03
|
(16) Python умеет, "2" * 3 будет "222"
|
|||
18
User_Agronom
10.10.13
✎
10:07
|
(15) неявное преобразование типов.
Вместо Строка(Переменная) можно написать ""+Переменная. Теоретически можно проверить, что быстрее отрабатывает. |
|||
19
Эмбеддер
10.10.13
✎
10:08
|
(17) вот это логично как раз
|
|||
20
1Сергей
10.10.13
✎
10:09
|
(19) по этой логике чему будет равно "2" ^ 3 ?
|
|||
21
Rie
10.10.13
✎
10:10
|
(20) А это уже - не "эта", а совсем другая логика :-)
|
|||
22
Эмбеддер
10.10.13
✎
10:11
|
(20) по логике ошибка должна быть когда строку умножают на число
|
|||
23
1Сергей
10.10.13
✎
10:12
|
(22) а в (19) ты сказал обратное
|
|||
24
Sabbath
10.10.13
✎
10:12
|
(20) а тут ты умножаешь три раза строку на строку "2" * "2" * "2", это как раз совсем другое, чем строку на число.
|
|||
25
Эмбеддер
10.10.13
✎
10:13
|
(23) строку умножили на 3, стало 3 таких строки. логично
|
|||
26
Sabbath
10.10.13
✎
10:14
|
В Python имеется ввиду логика такая 2 * 3 - это число 2 три раза, а "2" * 3 - строка "2" 3 раза, все логично)
|
|||
27
Sabbath
10.10.13
✎
10:15
|
+(26) ну или проще говоря это как операция сложения, 2 + 2 + 2, или "2" + "2" + "2", т.е. для строки конкатенация
|
|||
28
Sabbath
10.10.13
✎
10:16
|
Иногда полезно, наприме, вывести какие-то лидирущие нули в зависимости от длины строки и т.п.
|
|||
29
dsdred
10.10.13
✎
10:34
|
(15) И что вас не устраивает?
Задача как раз была преобразовать строку в число "1"*1 = 1 и как видно из этого, 1С умеет умножать строку на число |
|||
30
Эмбеддер
10.10.13
✎
12:03
|
(29) Вы сказали проверить я проверил. С чего Вы взяли что в (15) меня что-то не устраивает? Но я бы не называл это хорошим стилем программирования
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |