|
Как убрать пробел в числовом значении? | ☑ | ||
---|---|---|---|---|
0
JuixyJes
29.06.19
✎
20:40
|
Добрый вечер! Возникла ситуация. Ввожу в поле ввода с типом значения "число" число, потом преобразую в строку, к примеру число 1010 преобразуется как "1 010". Так вот как убрать этот пробел? Пыталась через сокрЛП, не вышло, через СтрЗаменить, так же не вышло. Если пытаться через СтрЗаменить("1 010", " ", ""), значение выдается как 1010, а вот если с переменной, преобразованной в строку, не выходит, подскажите пожалуйста, что делаю не так?
|
|||
1
ДенисЧ
29.06.19
✎
20:42
|
Не используешь Формат()
|
|||
2
Красный рассвет
29.06.19
✎
20:42
|
Это не пробел, это другой невидимый символ.
Убрать как-то так СтрЗаменить(ТвояСтрока,Символы.НПП,"") |
|||
3
JuixyJes
29.06.19
✎
20:47
|
(2) сейчас попробую
|
|||
4
JuixyJes
29.06.19
✎
20:52
|
(2) Точно, совсем забыла
|
|||
5
Лефмихалыч
29.06.19
✎
20:53
|
(0) ФОрмат(123456789, "чг=0")
(2) плохой вариант |
|||
6
Красный рассвет
29.06.19
✎
21:09
|
(5) Не бывает плохих вариантов.
Бывают подходящие и неподходящие для конкретной задачи. |
|||
7
rphosts
29.06.19
✎
21:25
|
(6)способ из (2) формирует плохой стиль и его можно использовать только там, где другие способы не подходят (а это уже не про задачу из (0)).
|
|||
8
NorthWind
29.06.19
✎
21:43
|
(2) называется "неразрывный пробел". В отличие от обычного пробела 0x20, редактирующий софт вроде ворда и т.п., встретив неразрывный пробел, не делает попыток выполнить перенос по нему. Код символа не помню, загуглите самостоятельно.
|
|||
9
Фокусник
29.06.19
✎
21:56
|
1234567ая "жертва неразрывного пробела" ;)
|
|||
10
Фрэнки
29.06.19
✎
22:08
|
Прикольный вопрос. Просто при выдаче числа в строку без форматирования почему-то платформа использует форматирование, причем, с использованием не простого пробела, а неразрывного, но явным образом об этом предупреждений не припомню.
|
|||
11
PR
29.06.19
✎
22:25
|
(10) Что тебя удивляет?
Что в 1С работают люди, которые стараются сделать свой продукт лучше и отображать по умолчанию пользователю число в более читабельном виде? |
|||
12
palsergeich
29.06.19
✎
22:31
|
(10) Я в первый раз с этим столкнулся еще в php в далеком детстве, там было то же самое
|
|||
13
NorthWind
29.06.19
✎
22:39
|
(10) а что по стандарту в России является разделителем триал разрядов? Я честно сказать не знаю. Если пробел, то все они правильно сделали - должен быть неразрывный пробел.
|
|||
14
NorthWind
29.06.19
✎
22:39
|
* триад
|
|||
15
Фрэнки
29.06.19
✎
22:41
|
я бы вообще при преобразовании числа в строку не вставлял группировку разрядов.
|
|||
16
Фрэнки
29.06.19
✎
22:42
|
Если это хотят сделать нарочно, тогда надо указывать явно, что группировка желательна. Когда не указано ничего - не группировать
|
|||
17
NorthWind
29.06.19
✎
22:47
|
(16) в 7.7 так и было,но позже они стали исходить из того, что представление по умолчанию должно быть удобным человекочитаемым, а если надо для дальнейшего преобразования обратно в число, то надо подсуетиться. Оба подхода имеют право на существование.
|
|||
18
Фрэнки
29.06.19
✎
22:50
|
все равно теперь только терпеть... вот выйдет вместо 8-ки уже 9-ка и обратно переделают. Чтоб жизнь медом не казалась и отличать мертвых от живых, ой, молодых от старперов
|
|||
19
PR
29.06.19
✎
22:51
|
(15) Я и говорю, прекрасно, что ты не работаешь в фирме 1С
А то пришлось бы в охулиарде мест в явном виде прописывать формат, потому что разработчики мудаки По факту конечно бы никто нигде бы не прописывал бы, потому что это просто пипец как заколебаться на ровном месте, просто в итоге пользователи считали бы 1С говном, в которой даже число показать по человечески не могут |
|||
20
Фрэнки
29.06.19
✎
22:53
|
(19) все всегда говорят, что PR лучше не вылазить из своих веток с набором рекрутов
Как хорошо, что PR не работает в 1С, а то хрен бы туда кого умного набрали. |
|||
21
PR
29.06.19
✎
22:54
|
(17) Раньше точно так же нужно было "подсуетиться" при преобразовании из строки в число
Потому что нормальные разработчики все-равно выводили 43243254.17 со всякими разделителями, только кто во что горазд, у кого пробел, у кого неразрывный пробел, у кого ' |
|||
22
PR
29.06.19
✎
22:56
|
(20) Странное дело
Я говорю, хорошо, что в 1С умные работают Ты говоришь, хорошо, что в 1С умные работают Но в итоге обиделся что-то |
|||
23
Фрэнки
29.06.19
✎
22:56
|
(21) Нормальные разработчики просто знали, что число для вывода в строку надо форматировать. Т.е. форматную строку подставляли в параметры формата.
|
|||
24
PR
29.06.19
✎
22:57
|
(23) Спасибо, Кэп
Я как бы поработал с семеркой, да |
|||
25
EvgeniuXP
29.06.19
✎
23:37
|
(0) не хочешь устроиться к нам на работу - мы тут ищем как раз программистку? (в твоем же городе)
|
|||
26
EvgeniuXP
29.06.19
✎
23:44
|
Если что, пиши на почту, здесь я редко появляюсь.
|
|||
27
Красный рассвет
29.06.19
✎
23:44
|
(25) По полу в вакансии Вашей дискриминация просматривается
|
|||
28
Web00001
30.06.19
✎
05:54
|
(16)Я конечно не программист из фирмы 1с, но думаю, что по логике программистов из 1С, любое значение получает представление перед выводом. Число выводится в соответствии с региональными настройками. Которые ты можешь изменить в настройках своего компьютера. И с моей точки зрения это правильная логика. Число выводится для пользователя так как это настроено на его компьютере. Может быть имеет смысл подискутировать о том, что примитивные типы должны форматироваться или не должны(я считаю должны). Но в (0) другая проблема: человек в принципе не понимает, что такое форматирование значения перед выводом.
|
|||
29
Фрэнки
30.06.19
✎
08:47
|
(28) Вот именно, что точно подмечено.
Происходит неявное форматирование при использовании переменных в коде. Просто произвольный код. Просто имена переменных. Еще нет вывода значений в какие-то поля формы, а во внутреннем коде модуля уже произошло форматирование при присвоении. Это древняя болезнь с присвоением типов, если переменная объявлена без явной декларации нужного ей типа значения. Мне представляется так, что значения обязательно форматируются при присвоении в тех случаях, когда явно определен тип Приемника. Это даже не подход такого характера "правильно так делать или нет", а вопрос стиля/подхода к написанию кода. В платформе при ее развитии постоянно происходит переопределение - что является примитивным и дефолтным, а что нужно указывать явно. ... Просто не удивлюсь, когда очередной раз поведение кода придется определять дополнительно - раньше этих префиксов контекста не было, а теперь есть контекст НаСервере и НаКлиенте. А когда появится НаКлиенте более сторогий контроль типов, а при этом НаСервере примитивные типы потеряют свои прежние свойства дефолтных преобразований из одного типа в другой... Не удивлюсь. |
|||
30
Лефмихалыч
30.06.19
✎
09:54
|
(6) бывает. СтрЗменить - плохой. Завтра выйдет новый релиз платформы, который начнет подставлять обычный пробел вместо неразрывного, и хана твоему варианту
|
|||
31
Лефмихалыч
30.06.19
✎
09:55
|
Стрзаменить здесь - это то же самое, что тип определять по его строковому представлению. Так делают только рукожопы.
|
|||
32
DomovoiAtakue
30.06.19
✎
12:39
|
(19)Пока что мы почти всегда при переводе числа в строку вынуждены прописывать формат и убирать группировку. Сложно наверное даже придумать где нужна строка из цифр с группировками. Так что товарищ из (10) вполне правильно написал.
|
|||
33
ДенисЧ
30.06.19
✎
12:53
|
(32) В отчётах и формах нужна. Трудно представить, где число в виде строки не должно форматироваться в локали компьютера.
|
|||
34
Злопчинский
30.06.19
✎
13:49
|
(10) именно на это я сразу же напоролся при первом своем знакомстве с 8-кой много лет назад. и именно в этот момент 8-ка для меня стала "мертвой"
|
|||
35
DomovoiAtakue
30.06.19
✎
14:51
|
(33)В отчетах когда вы выводите число, то выводите его числом, а не строкой. А преобразование в строку делают для вывода номера или при обменах для сравнения тех же номеров.
|
|||
36
DomovoiAtakue
30.06.19
✎
14:54
|
+(35)Кстати преобразование в строку в принципе делают чтоб убрать группировку, поэтому глупо при переводе в строку оставлять группировку :)
|
|||
37
ДенисЧ
30.06.19
✎
15:18
|
(35) В отчётах, ты таки не поверишь - выводится строка. Пусть неявно преобразованная, но строка.
|
|||
38
Pahomich
30.06.19
✎
15:35
|
(37) Что вы спорите? В отчетах выводится изображение!
|
|||
39
NorthWind
30.06.19
✎
15:36
|
(35) вообще-то нет. Число - это последовательность бит, и чтобы вывести его куда угодно в читабельном виде, вы или явно преобразуете его в строку, если вы пишете на ассемблере, или за вас это сделает библиотечная функция вашего языка, если вы пишете на чем-то более высокоуровневом. Так что вопрос не в том, будет преобразование или нет - оно будет в любом случае. Вопрос только в том, как именно будет выполнено преобразование - с дополнительным форматированием или без него. Как мне думается, и подход семерки, и подход восьмерки имеют право на существование. Нужно просто только иметь в виду особенности.
|
|||
40
DomovoiAtakue
30.06.19
✎
17:33
|
(37)(39)Это уже дебри, которые нас не касаются. Я уже написал для чего программист пишет команду на перевод числа в строку - на 90% это для того чтобы убрать группировку, поэтому логично было бы по умолчанию при переводе числа в строку сразу убирать группировку. С данной темой сталкивались все и никто наверное не посчитал что так как сейчас это нормально. В числе у меня символы цифровые, а в такой же строке откуда-то берутся левое символы, с какой стати, если группировка это всего лишь формат отображения. Это явный косяк разработчиков, котоый по сей день создает доп работу программистам и не надо додумывать какие-то оправдания.
|
|||
41
ДенисЧ
30.06.19
✎
18:18
|
(40) программист пишет команду на перевод числа в строку - на 90% это для того чтобы убрать группировку@
А думал, что бы показать юзерю "вы должны '2`234`456 долларев' ... |
|||
42
Pahomich
30.06.19
✎
18:30
|
(41) Мне это нужно было для переноса числа в другую программу, когда перенести можно только в виде строки.
|
|||
43
Провинциальный 1сник
30.06.19
✎
18:35
|
(0) XMLСтрока() выдает нормально число строкой
|
|||
44
ДенисЧ
30.06.19
✎
18:43
|
(42) Один случай на тыщщу?
|
|||
45
Pahomich
30.06.19
✎
19:45
|
(44) Других проблем не было
|
|||
46
wowik
01.07.19
✎
09:14
|
(5) +1
(31)+1 |
|||
47
wowik
01.07.19
✎
09:15
|
(0) "ФОТО ВЫЛОЖУ НА ГОД СТАЖА))" - давай сейчас выкладывай, через год страшная станешь от 1с)
|
|||
48
Smile 8D
01.07.19
✎
09:26
|
(0) (43) Так же предпочитаю использовать XMLСтрока() для избавления от неразрывных пробелов в числах.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |