powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) Проблемы с форматм числа
5 сообщений из 5, страница 1 из 1
(PERL) Проблемы с форматм числа
    #33464920
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сздал формат:

format Limitn =
RD@|||||@<<<<<@||||||||||||||@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< *
sprintf("%06d",$RowCount++),$TranRowCount++,sprintf("%015d",${$Mrow->[2]}),${$Mrow->[0]},${$Mrow->[1]}
.

В него подставляю sprintf("%015d",${$Mrow->[2]}) и фигня
до 9 миллинонов работает(7 разрядное число), а после 10(8 разрядное число) выдаёт - и какое-то число:
RD0000031 -000018949672966037143900904816 БЕЛКИН
С меньшим всё в порядке(с выравниванием нулями впереди и никаких минусов)
RD0000031 0000008000000006037143900904816 БЕЛКИН
Главное ведь выделил 15 разрядов...
Что не так? Может типы данных в Perl(хотя они же не описываются) имеют ограничения?
...
Рейтинг: 0 / 0
(PERL) Проблемы с форматм числа
    #33464952
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да там где ошибка вводили 24 млн...
...
Рейтинг: 0 / 0
(PERL) Проблемы с форматм числа
    #33465451
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
modСздал формат:

format Limitn =
RD@|||||@<<<<<@||||||||||||||@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< *
sprintf("%06d",$RowCount++),$TranRowCount++,sprintf("%015d",${$Mrow->[2]}),${$Mrow->[0]},${$Mrow->[1]}
.

В него подставляю sprintf("%015d",${$Mrow->[2]}) и фигня
до 9 миллинонов работает(7 разрядное число), а после 10(8 разрядное число) выдаёт - и какое-то число:
RD0000031 -000018949672966037143900904816 БЕЛКИН
С меньшим всё в порядке(с выравниванием нулями впереди и никаких минусов)
RD0000031 0000008000000006037143900904816 БЕЛКИН
Главное ведь выделил 15 разрядов...

...это ты не 15 разрядов выделил, а сказал printf забить число нулями вначале, до 15 знаков в длину...


Что не так? Может типы данных в Perl(хотя они же не описываются) имеют ограничения?

%d - в printf вроде как integer, платформозависимый, со всеми ограничениями по длине присущими этому типу данных.
...
Рейтинг: 0 / 0
(PERL) Проблемы с форматм числа
    #33469835
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
g613 А чем %d заменить чтобы справа нули ставились?
...
Рейтинг: 0 / 0
(PERL) Проблемы с форматм числа
    #33475837
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
modg613 А чем %d заменить чтобы справа нули ставились?

1) perldoc -f sprintf про форматы.

2) написать самому, в простейшем случае: `perl -e '$d = 999; print "0"x(15-length($d)), $d'`...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) Проблемы с форматм числа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]