OVH Cloud OVH Cloud

[debutant] formater un nombre ?

6 réponses
Avatar
julien.gautier
bonjour,

pardonnez cette question de grand débutant... (à moins que ce ne soit
aussi la fatigue : je ne trouve pas) :

comment fait-on, au plus simple, pour formater des nombres, par ex :

1 --> 0000000001
2 --> 0000000002
23 -> 0000000023
13654 -> 0000013654


sed ?

6 réponses

Avatar
TiChou
Dans le message <news:1gfszu7.1hix9s914ccpayN%,
*Julien Gautier* tapota sur f.c.o.unix :

bonjour,


Bonsoir,

pardonnez cette question de grand débutant... (à moins que ce ne soit
aussi la fatigue : je ne trouve pas) :

comment fait-on, au plus simple, pour formater des nombres,


Sous quel langage ?

par ex :

1 --> 0000000001
2 --> 0000000002
23 -> 0000000023
13654 -> 0000013654


Avec printf. Par exemple en shell, cela donnerait :

$ printf "%.10d" 13654
0000013654

sed ?


Ça doit être faisable, je n'ai pas cherché à le faire car aucun intérêt de
le faire avec.

--
TiChou

Avatar
TiChou
Dans le message <news:,
*TiChou* tapota sur f.c.o.unix :

Avec printf. Par exemple en shell, cela donnerait :

$ printf "%.10d" 13654
0000013654


Oups, j'ai oublié d'indiquer la lecture du man 3 printf.

--
TiChou

Avatar
julien.gautier
"TiChou" wrote:

Dans le message <news:1gfszu7.1hix9s914ccpayN%,
*Julien Gautier* tapota sur f.c.o.unix :

bonjour,


Bonsoir,

pardonnez cette question de grand débutant... (à moins que ce ne soit
aussi la fatigue : je ne trouve pas) :

comment fait-on, au plus simple, pour formater des nombres,


Sous quel langage ?



oui, pardon : via un shell (bash el l'occurence)

par ex :

1 --> 0000000001
2 --> 0000000002
23 -> 0000000023
13654 -> 0000013654


Avec printf. Par exemple en shell, cela donnerait :

$ printf "%.10d" 13654
0000013654



Parfait merci.

sed ?


Ça doit être faisable, je n'ai pas cherché à le faire car aucun intérêt de
le faire avec.


ok.


Avatar
julien.gautier
"TiChou" wrote:

Dans le message <news:,
*TiChou* tapota sur f.c.o.unix :

Avec printf. Par exemple en shell, cela donnerait :

$ printf "%.10d" 13654
0000013654


Oups, j'ai oublié d'indiquer la lecture du man 3 printf.


Ah oui merci !


Avatar
Stephane Chazelas
2004-06-22, 22:58(+02), Julien Gautier:
[...]
comment fait-on, au plus simple, pour formater des nombres,


Sous quel langage ?



oui, pardon : via un shell (bash el l'occurence)
[...]


Si c'est pour modifier une variable:

var3

var00000000$var
var=${var#"${var%??????????}"}

Mais attention, en bash, pour l'"arithmetic expansion", les
variables qui commencent par un 0 sont considerees comme
octales, autrement dit, tu ne pourras plus faire de calculs
avec.

En zsh ou ksh:

typeset -Z10 var

--
Stephane



Avatar
Stephane Chazelas
2004-06-23, 18:30(+00), Raslebol des patches Windoze:
[...]
Surtout que man 3 printf renvoit à la fonction de la
bibliothèque C :))
Peut-être man 1 printf ??


ou man 1 "son shell"
car printf est builtin dans pas mal de shells (bash, ksh93, zsh
4.2, dash...).

En plus cela n'a rien à voir avec Bash :

pinux# echo $SHELL
/bin/csh
pinux# printf "%.2Xn" 255
FF


$SHELL n'indique pas forcement quel est le shell courant, juste
quel est le shell de preference de l'utilisateur.

Certains vieux systemes n'ont pas de commande "printf" (autre
que celle built-in bash).

--
Stephane