0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 13
1

Дополнение числа лидирующими нолями

21.08.2017, 11:23. Показов 4628. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
доброго времени суток. помогите, плиз:

Windows Batch file
1
2
3
set n=000
set /A n+=1
echo %n%
это выводит 1

как сделать, чтобы переменная была 001 ??? т.е. число дополнялось нолями до заданной длинны. в данном случае до 3 знаков
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.08.2017, 11:23
Ответы с готовыми решениями:

Трехразрядный счетчик от 001 до 999 с лидирующими нулями
Надо переименовать картинки и фотографии (там их небольше 200) Setlocal EnableDelayedExpansion...

Заполнение лидирующими нолями при неравном размере строк
Решил попробовать длинную арифметику... Начал с суммы. Реализовал собственно сумму и застопорился...

Трансформация числа с нолями в начале
Всем привет. В JS можно работать с числами в другой системе счисления. Число начинающееся с...

Вывести число с лидирующими нулями
Как сделать так, чтобы после двоеточия writeline(x:5) вместо свободных позиций отображались нули?

8
90 / 84 / 42
Регистрация: 27.09.2015
Сообщений: 316
21.08.2017, 12:20 2
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
setlocal
set zNum=4
set myDigit=143
::
set t=1
set tt=%myDigit%
for /l %%t in (1,1,%zNum%) do set /a t*=10
:loop
echo.%myDigit% ^< %t%
if %myDigit% lss %t% (
    set tt=0%tt%
    set /a t/=10
    goto:loop
)
echo.%tt%
0
724 / 323 / 133
Регистрация: 17.03.2014
Сообщений: 811
21.08.2017, 14:21 3
_ab, можно испытать такой код:
Windows Batch file
1
2
3
4
5
6
@echo off
set n=000
set /A n+=1
set n=000%n%
set n=%n:~-3%
echo %n%
ps. советует Rob van der Woude 8-)
0
90 / 84 / 42
Регистрация: 27.09.2015
Сообщений: 316
21.08.2017, 19:07 4

Не по теме:

b0gus, не это сложно.. а что если длинна строки с цифрами будет максимальной и вы вот к этой строке добавляете ещё нолики в надежде их потом обрезать, а не тут-то было - сервер падает из-за выхода за границы *бздям* ц..ц..ц.ц.ц



Добавлено через 6 минут

Не по теме:

ну хорошё.. вы скажете вставить проверку на дляинну строки.. ок.. но сколько ноликов добавлять?
по одному нолику? - ну это ерунда какая-то
максимальную строку с ноликами? ну это снова падение.. а потом - расход потенциального серверного пространства, ведь их хранить где-то надо.. нолики



Добавлено через 6 минут

Не по теме:

вместо этого.. я предлагаю создание полноценного сервиса! Сервиса, который будет постоянно следить за корректным отображение цифер. Сервис осуществляет постоянный мониторинг с регулярными проверками по всему древу цифер, имеющихся в распоряжении пользователя и поддерживает эти их и пользователя в замечательном расположении духа!
Попробуйте :good:

0
5981 / 1990 / 323
Регистрация: 10.12.2013
Сообщений: 6,854
21.08.2017, 20:05 5
Цитата Сообщение от mir16 Посмотреть сообщение
а потом - расход потенциального серверного пространства, ведь их хранить где-то надо.. нолики
так в ноль-репозитории же !

а расположен он у самых корней дерева цифр.

и днём, и ночью кот учёный всё ходит поц ...
0
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 13
22.08.2017, 06:26  [ТС] 6
mir16, b0gus, спасибо. у меня ограниченная область применения. так что пойдут оба варианта
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
22.08.2017, 15:50 7
mir16, в вашем варианте, если исходное число = 0, то конечное становится - 6-значным.
1
90 / 84 / 42
Регистрация: 27.09.2015
Сообщений: 316
22.08.2017, 17:49 8
Dragokas, надо с этим что-то делать.. это совершенно не порядок ц ц цц ц

Добавлено через 5 минут
Windows Batch file
16
17
if %tt% equ 0 set tt=%tt:~1%
echo.%tt%
божественное решение от максимки

Добавлено через 11 минут

Не по теме:

9^1 = 9
9^2 = 81 + 9 * 2 * 10^0 = 99
9^3 = 729 + 9 * 3 * 10^1 = 999
9^4 = 6561 + 9 * 4 * 10^2 = 10161 --- сбой матрицы



Добавлено через 1 минуту

Не по теме:

нам врут.. математика не верна.. мы пользуемся неверными цифрами

0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
22.08.2017, 18:00 9
mir16,

Windows Batch file
1
2
3
4
5
6
7
@echo off
set dig=3
set num=33
set m=1& for /l %%t in (1,1,%dig%) do set /a m*=10
set i=%m%%num%
if %num% geq %m% (echo %num%) else (call echo %%i:~-%dig%%%)
pause
правда такого условия:
Цитата Сообщение от mir16 Посмотреть сообщение
а что если длинна строки с цифрами будет максимальной и вы вот к этой строке добавляете ещё нолики в надежде их потом обрезать
не было у ТС.
1
22.08.2017, 18:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2017, 18:00
Помогаю со студенческими работами здесь

странности с лидирующими двойными кавычками в текстовом поле
какая-то непонятная и неприятная вещь происходит... есть код, который передаёт банальное текстовое...

Дополните число лидирующими нулями таким образом, чтобы оно имело ровно 8 знаков.
1)На вход дается единственная строчка. Выведите единственное число - количество пробелов. Пример:...

Количество положительных между 2 нолями в массиве.
Скажите пожалуйста, как решить такую задачу. Известно, что в массиве {x} содержатся два нулевых...

Небольшое дополнение к лабе по теме "целые числа"
procedure TForm1.Button3Click(Sender: TObject); var i1,i2,i3,i4,i5,x:integer; begin...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru