Посчитать количество цифр в числе? #802117


#0 by ittaxi
Число 45 879 как посчитать количество цифр? в данном примере должно получится 5 цифр.
#1 by catena
различных?
#2 by ittaxi
да просто количество
#3 by Вафель
взять 10 логарифм
#4 by Ёпрст
Можно еще СтрДлина
#5 by ok_sys
как вариант преобразовать в строку и посчитать посимвольно
#6 by lera01
СтрДлина(Формат(ТвоеЧисло,"ЧРГ=''; ЧГ=0"))
#7 by Dvoe4nik
#8 by Dvoe4nik
Стрзаменить(строка(Число)," ","")*
#9 by ittaxi
Форма.Форма.Форма}: Итератор для значения не определен         ДЛя каждого символ из строкачисла цикл
#10 by Dvoe4nik
ну для символ=1 по СтрДлина(строкачисла) цикл Если сред(строкачисла,символ,1)="0" тогда//(или 2-9)
#11 by ittaxi
реквизит значений тип Число
#12 by Dvoe4nik
и да
#13 by catena
в решение чем не устраивает?
#14 by Вафель
Потому что это конкурс )))
#15 by Dvoe4nik
не прочел)))))))
#16 by catena
У кого длиннее?
#17 by Dvoe4nik
а Фдрук там кроме цифор исчо чето написано?))
#18 by catena
ТС утверждает, что там число
#19 by ittaxi
Если сред(строкачисла,символ,1)="0" или сред(строкачисла,символ,1)="1"             или сред(строкачисла,символ,1)="2" или сред(строкачисла,символ,1)="3"             или сред(строкачисла,символ,1)="4" или сред(строкачисла,символ,1)="5"             или сред(строкачисла,символ,1)="6" или сред(строкачисла,символ,1)="7"             или сред(строкачисла,символ,1)="8" или сред(строкачисла,символ,1)="9" тогда
#20 by Dvoe4nik
6 тоже отработает, если у тя там число стоит причем кода меньше
#21 by catena
сред(строкачисла,символ,1)>="0" и  сред(строкачисла,символ,1)<="9"
#22 by ittaxi
а есть метод по короче
#23 by Lama12
Здесь пятничный стеб или все что после серьезно?
#24 by WhiteDragon93
КоличествоЦифр = СтрДлина(СтрЗаменить(Строка(Формат(НашаПеременная, "ЧРД=; ЧГ=0")),",",""));
#25 by Dvoe4nik
>
#26 by catena
У него, похоже, посты с не отображаются...
#27 by Dvoe4nik
)))))))))))))))))))))))))))))))
#28 by Ненавижу 1С
КоличествоЦифр =Цел(Log10(ТвоеЧисло))+1;
#29 by ittaxi
все отображает попробую спасибо а можно как то типа остатком от деления посчитать.
#30 by Ненавижу 1С
см
#31 by catena
Только если оно у тебя целое же.
#32 by patapum
а в числе 123,45 сколько цифр должно вернуть?
#33 by Ёпрст
вот только, с нулём и с отрицательными числами, не покатит
#34 by ittaxi
Огромное Спасибо Человек.
#35 by Ёпрст
а че, не осилил ?
#36 by ittaxi
#37 by Lama12
В приведен пример с целым положительным числом. Если уж на то пошло, давайте определяться с каким множеством работаем, а то 7/3 тоже число и "Pi" число, и "e".
#38 by Ёпрст
если для любых чисел (дробных, отрицательных), то например, такой примитив КолЦиферок=0; Для к = 1 по СтрДлина(строка(ТвоёЧисло)) Цикл
#39 by ittaxi
только целые числа Если Число <> 0 Тогда Вроде работает и четыре строчки
#40 by ittaxi
спасибо всем
#41 by Ёпрст
целые числа могут быть отрицательными. ну и сунь отрицательное число в логарифм
#42 by Йохохо
Если Число < 0 Тогда Ответ = Ответ -1; КонецЕсли;
#43 by dezss
А если дробное, то еще -1.
#44 by dezss
а если в научной/инженерной записи, то еще -1.
#45 by dezss
хотя нет, тут будет несколько сложнее...надо ж еще прибавить то, что после Е
#46 by ittaxi
Ответ = СтрДлина(Формат(Строка(Число), "ЧГ="));             Если Число < 0 Тогда Ответ = Ответ -1; КонецЕсли;          Сообщить(Ответ); круто но дает в 5  6 симолов   пробел попадает надо вычесть его Спасибо
#47 by ittaxi
Ответ = СтрДлина(Формат(Число(Число), "ЧГ=")); так попробовал пошло на ура
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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