marco
marco

Reputation: 617

integer to [String]

with this code

digs 0 = []

digs x = x `mod` 1000 : digs (x `div` 1000)

for example: 24889375
we take the result [375,889,24]

how can i make this one ["375","889","024"]

Upvotes: 1

Views: 150

Answers (2)

svenningsson
svenningsson

Reputation: 4049

The most idiomatic way to do this is to use the functions map and show.

Prelude> map show [375,889,24]
["375","889","024"]

show can be used to convert most values to a string. map applies that function to every element of a list map.

Upvotes: 2

kennytm
kennytm

Reputation: 523724

Prelude> import Text.Printf
Prelude Text.Printf> map (printf "%03d" :: Int -> String) [375,889,24]
["375","889","024"]

Upvotes: 3

Related Questions