Как преобразовать число в строку без пробелов #758767


#0 by Samir
Я понимаю глупейший вопрос, но не выходит каменный цветок Имеем Число=1 023,54 Делаем согласно логике СтрЗаменить(Число," ",""); Получаем строку "1 023,54" СтрЗаменить не прокатило, пробовал и СтрЗаменить(Строка(Число)," ",""); Что не так?
#1 by asady
там не пробем а НПП
#2 by asady
+ там не пробел а НПП решений много:
#3 by Samir
Ну трындец. Никогда такого не было и вот опять (Черномырдин)
#4 by almar
Нуралиев недавно говорил, что в отрасли 1С сейчас работают примерно 300 тысяч человек. Интересно, сколько из них стали жертвами неразрывного пробела?
#5 by ДенисЧ
приблизительно 146%
#6 by Stim
у них на 300 000 сотрудников - 10 000 психологов, половина из которых работает с жертвами НПП
#7 by rs_trade
кури формат, е-мае
#8 by The_SpecialOne
капец, "ЧГ=" же придумали для этого
#9 by rs_trade
вообще 1с-овцы конечно чудаки полные с этим НПП в числе. это же какой извращенной логикой надо обладать что бы запилить такое.
#10 by olegves
xmlСтрока(Твоечисло)
#11 by kiruha
1С : Формат(ЧислоКакое,"ЧГ=0 ")
#12 by Stim
забыл про еще один вариант
#13 by Гёдза
+100500
#14 by kiruha
Какой ?
#15 by МимохожийОднако
Он же ясно сказал : "забыл"
#16 by Stim
региональные установки ИБ
#17 by cw014
Формат(ЧСЛ, "ЧГ=")
#18 by kiruha
Это чревато - вычеркиваем
#19 by cw014
Даже лучше так Формат(ЧСЛ, "ЧН=0; ЧГ=")
#20 by Фокусник
, Я наверное банальность напишу, но НПП нужен для того, чтобы перенос строки (если ему случится быть на этом строковом представлении числа) автоматически НЕ происходил по середине числа... тогда как на пробеле такой перенос произойдет...
#21 by rs_trade
на кой черт этот пробел в коде? вот о чем речь. это чисто фишка для вывода на экран. программист почему должен каждый раз какую нить выгрузку форматировать что бы число к нормальному виду привести?
#22 by Web00001
А что должно происходить? Выгрузка должна сама форматироваться когда на файл с ней программист посмотрит? Может быть программист будет форматировать вывод в удобном виде?
#23 by rs_trade
я удивлен что кому то еще это надо объяснять. если я выгружаю число 9999, я хочу выгружать число 9999, а не 9 999. это полная тупость оперировать в системе числами с красивым удобным представлением.
#24 by Пикчер
чудные те, у кого половина числа на новую строку переносится. Все верно они сделали
#25 by Гёдза
проблема не в том что там НПП, а что вообще по умолчанию в строку так переводится. Ни в одном языке такого нет. В том числе и в 77 не было
#26 by Пикчер
строка здесь именно форматированное представление. Если тебе нужна выгрузка чисел в текст пользуй Xmlстрока Значениевстрокувнутр Значениевфайл И тд
#27 by Фокусник
"если я выгружаю число 9999" а "я удивлен что кому то еще это надо объяснять", если "программист" выгружает ЧИСЛО в СТРОКУ, не задумывается о неявном преобразовании типов и что-то после этого хочет от "системы"... ;) 1С число в строку преобразует в том формате, который удобен для просмотра чисел (и поэтому с НПП). А если вам нужно выгрузить в каком-то ОСОБОМ формате, обеспечьте этот формат самостоятельно. А то одному пробелы мешают, другому вместо точки запятая нужна, третьему вообще нужно без дробной части... 1С вам ВСЕМ угодить должна при "неявном преобразовании формата"? ;)
#28 by rs_trade
форматировать надо когда выводишь числа, а не когда в коде ими оперируешь.
#29 by rs_trade
< 1С число в строку преобразует в том формате, который удобен для просмотра чисел кому удобен? спорный вопрос. компании 1С? только если так.и при выгрузке действительно происходит "не явное" преобразование. вместо одно числа 9999, я получаю два числа 9 и 999. и это поведение по умолчанию. очень удобно.
#30 by Гёдза
Что пользовать я знаю. Но зачем по умолчанию так сделали?
#31 by Гёдза
Повторюсь. Никто кроме 1с8 так не делает. НИКТО
#32 by Fragster
ну да, в дельфи обычно стреляют себе в ногу с разделителем дробной части...
#33 by Fragster
ну и да - при выгрузке типизированных данных, например xml через xdto - никаких проблем.
#34 by DexterMorgan
СериализаторXDTO.ЗаписатьXDTO(ТвоеЧисло).ЛексическоеЗначение
#35 by novichok79
Формат(Чсл, "ЧН=0; ЧГ=")
#36 by DexterMorgan
баян
#37 by mehfk
+100500 в эту фичу вступают все, кто на 7.7 обходился без нее.
#38 by rs_trade
C НайтиПоНаименованию кстати мне кажется такая же не логичность. Почему метод по умолчанию ищет по like? Я же прошу найти по  вполне конкретному наименованию, а не найти по вхождению или КакоеТоПохожееНаименование. Плюс нагрузка на систему не обоснованная. Поиск по like должен флагом включаться, а не выключаться. Хоть ветку отдельную заводи по логике платформы.
#39 by Fragster
потому что collation у тебя в базе ci
#40 by rs_trade
и? не понял связи.
#41 by Fragster
#42 by Fragster
#43 by Пикчер
не пойму чем xmlстрока не устраивает
#44 by mehfk
Он говорит почему по-умолчанию сделан LIKE НаименованиеДляПоиска%, а не = НаименованиеДляПоиска ?
#45 by Рэйв
like без % или других масок- не имеет смысла.
#46 by mehfk
Ты плохо прочитал .
#47 by Рэйв
Я не очень понял чем ты недоволен.
#48 by mehfk
Зачем НайтиПоНаименованию без дополнительных флагов транслируется в LIKE НаименованиеДляПоиска% а не в Теперь понятно?
#49 by rs_trade
пятница вечер. все уже бухие похоже.
#50 by Рэйв
Строка понятна . Ищет по вхождению. что тебе то не понятно?
#51 by Рэйв
Не надо обобщать.Я всего пару пива выпил....Может поэтому с трудом понимаю ТС:-)
#52 by rs_trade
ну тогда понятно почему ты отвечаешь на другие вопросы. которые здесь не озвучены.
#53 by mehfk
Забей. Не порти себе отдых.
#54 by Рэйв
например?
#55 by Рэйв
ты прав:-)
#56 by mehfk
exec sp_executesql N'SELECT T1._IDRRef FROM _Reference70 T1 WITH(NOLOCK) WHERE T1._Description = ', N' nvarchar(4000)', N'строкаипятьпробелов     ' против к = Справочники.Номенклатура.НайтиПоНаименованию("строкаипятьпробелов     "); exec sp_executesql N'SELECT T1._IDRRef FROM _Reference70 T1 WITH(NOLOCK) WHERE T1._Description LIKE ESCAPE ''''', N' nvarchar(4000)', N'строкаипятьпробелов%'
#57 by DexterMorgan
фрагстер тоже бухой походу
#58 by DexterMorgan
кароче я тоже щeтаю что в НайтиПоНаименованию второй параметр должен быть по умолчанию Истина
#59 by mehfk
Замути в менеджере справочника свою функцию с похожим названием и пользуй ее.
#60 by DexterMorgan
я хочу типовую
#61 by mehfk
типа НайтиПоНаименованиюИмениDexterMorgan :)
#62 by DexterMorgan
проще второй параметр явно указать =)
#63 by Ювелир
Простите за шутку. Уважаемый Samir грабли у входа нашел. ))) Они там всю жизнь стояли. По существу, можно через функцию формат убирать эти НПП.
#64 by Рэйв
Типовая тебя не хочет...Какая драма!:-)
#65 by JDizel
Здесь все варианты преобразования числа в строку: _преобразовать_число_в_строку_без_пробелов
#66 by JDizel
Здесь все варианты преобразования числа в строку:
#67 by Рэйв
Я бы не ходил на месте общественности..
#68 by mehfk
Яндекс не будет индекировать твое г0вн0, глупый спамер.
#69 by Рэйв
А обработки деления на 0 у вас там нет случайно
#70 by JDizel
косяк, но не мой... :)
#71 by Рэйв
а где наши бравые модеры? Почему организм еще живет?
#72 by JDizel
а срач на три страницы лучше по твоему?
#73 by Рэйв
Да нет. Тебя по правилам должны были выкорчевать сразу.
#74 by Рэйв
...лять
#75 by mehfk
Написать в 1с что-ли по поводу использованию "1С" в доменном имени? Сомневаюсь что до понедельника домен доживет.
#76 by Рэйв
это не нарушение пункта.Это констатация факта.
#77 by Рэйв
а то еще забанят идиоты...
#78 by Фокусник
каких ещё "два числа"? Это ОДНА строка... ;) Удобно смотреть большие числа, пользователю. Сравни непонятное 7777888999 и очевидное 7 777 888 999 ;)
#79 by Zamestas
Собирай из строки другую строку до тех пор, пока символы строки есть числа. Символы, числами не являющимися, исследуй на предмет разделителя дробей, и не являющимися оными игнорируй до явления символа разделителя дробей либо окончания строки. Ибо сказано не может быть других разделителей дробей, кроме первого.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С