Forum: Rails Germany Strings in Reihenfolge erzeugen

2bf0135b253823e78f8719d27189048b?d=identicon&s=25 Stefan Botzenhart (basiszwo)
on 2009-03-12 18:32
(Received via mailing list)
Hallo,

ich möchte Strings in folgender Reihenfolge erzeugen:

0001
0002
...
9999

Das Problem ist ja eigentlich nur zwischen 0001 und 1000, da bei der
Erzeugung über Integer die führenden Nullen fehlen, welche ich aber an
der Stelle haben möchte.

Mir fällt spontan nur sowas unschönes ein, wie die Prüfung auf die
Länge des resultierenden Strings und dann entsprechend viele Nullen
voranzustellen.

Gibts es vielleicht noch eine schönere Lösung, die ich noch nicht kenne?


Danke und
GrüßeStefan

**************************************************
basiszwo
Stefan Botzenhart
email:   sb@basiszwo.com
www:     www.basiszwo.com
4d9dd9bd8d3d4d0ba8af2acc41d14006?d=identicon&s=25 Mathias Meyer (mattmatt)
on 2009-03-12 18:40
(Received via mailing list)
On 12.03.2009, at 18:31, basiszwo - Stefan Botzenhart wrote:

> Hallo,
>
> ich möchte Strings in folgender Reihenfolge erzeugen:
>
> 0001
> 0002
> ...
> 9999
>

start = "0001"

while start.to_i < 9999
   start = start.succ
end

Cheers, Mathias
Cd6b438f1238ee36cf4daecbae1d3917?d=identicon&s=25 Thomas Preymesser (Guest)
on 2009-03-12 18:47
(Received via mailing list)
2009/3/12 basiszwo - Stefan Botzenhart <sb@basiszwo.com>:
> Hallo,
>
> ich möchte Strings in folgender Reihenfolge erzeugen:
>
> 0001
> 0002
> ...
> 9999

10_000.times do |i|
  puts sprintf("%04d",i)
end


--
Thomas Preymesser
thopre@gmail.com
http://thopre.googlepages.com/
http://thopre.wordpress.com/
2bf0135b253823e78f8719d27189048b?d=identicon&s=25 Stefan Botzenhart (basiszwo)
on 2009-03-12 18:51
(Received via mailing list)
Am 12.03.2009 um 18:39 schrieb Mathias Meyer:
>
> start = "0001"
>
> while start.to_i < 9999
>  start = start.succ
> end

ahh, sehr cool. Genau das habe ich gesucht. succ habe ich völlig
überlesen

**************************************************
basiszwo
Stefan Botzenhart
email:   sb@basiszwo.com
www:     www.basiszwo.com
Ed52fe6b5cf49246210e767b7bc1c940?d=identicon&s=25 Niko Dittmann (Guest)
on 2009-03-12 18:52
(Received via mailing list)
oder auch

(1..10_000).each { |i| puts i.to_s.rjust(4,'0') }
E5f0f1587d8356e859354e9b9cebc762?d=identicon&s=25 Phillip Oertel (phillipoertel)
on 2009-03-12 19:22
(Received via mailing list)
Oder auch

1.upto(9999) { |i| "%04d" % i }

:-)

(wie bei Mathias, % ist ein alias für printf)

Phillip

---

Am 12.03.2009 um 18:52 schrieb Niko Dittmann <mail@niko-dittmann.de>:
C91d05b02cc6a43fadcbe417b66bceb4?d=identicon&s=25 Roland Moriz (Guest)
on 2009-03-12 19:32
(Received via mailing list)
Phillip Oertel schrieb:
> Oder auch
>
> 1.upto(9999) { |i| "%04d" % i }
>
> :-)
>
> (wie bei Mathias, % ist ein alias für printf)

sprintf ;)

Gruß,
Roland

--
Moriz GmbH
Hedwig-Dransfeld-Allee 14
80637 München

Tel: 089/78795079 (AB)

Vertretungsberechtigter
Geschäftsführer:
Roland Moriz

Registergericht: Amtsgericht München
Registernummer: HRB 174 294
USt-ID: DE260422784
This topic is locked and can not be replied to.