Sformatuj numer jako stałą szerokość, z początkowymi zerami [duplikat]
to pytanie ma już odpowiedzi tutaj :
Jak dodać początkowe zera?
(8 odpowiedzi)
Zamknięte 4 lat temu .
Następujący kod
a <- seq(1,101,25)
b <- paste("name", 1:length(a), sep = "_")
Produkuje to wyjście:
"name_1" "name_26" "name_51" "name_76" "name_101"
Chciałbym mieć taką samą szerokość wszystkich wartości, co oznacza dla mnie, aby wypełnić wartości zerami w następujący sposób:
"name_001" "name_026" "name_051" "name_076" "name_101"
Jak sobie z tym poradzić?
(to pytanie dotyczy tego .)
139
1 answers
Jest na to kilka rozwiązań.
Jednym z nich jest użycie sprintf
. Używa ona kodów formatowania stylu C
osadzonych w łańcuchu znaków, aby wskazać format innych przekazywanych do niego argumentów. Na przykład kod formatowania %3d
oznacza sformatowanie liczby jako liczby całkowitej o szerokości 3:
a <- seq(1,101,25)
sprintf("name_%03d", a)
[1] "name_001" "name_026" "name_051" "name_076" "name_101"
Inny to formatC
i paste
:
paste("name", formatC(a, width=3, flag="0"), sep="_")
[1] "name_001" "name_026" "name_051" "name_076" "name_101"
229
Author: Andrie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-22 14:26:17
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-22 14:26:17