avec ce codeentier à [chaîne]
digs 0 = []
digs x = x `mod` 1000 : digs (x `div` 1000)
par exemple: 24889375
nous prenons le résultat [375,889,24]
comment puis-je faire celui ["375","889","024"]
avec ce codeentier à [chaîne]
digs 0 = []
digs x = x `mod` 1000 : digs (x `div` 1000)
par exemple: 24889375
nous prenons le résultat [375,889,24]
comment puis-je faire celui ["375","889","024"]
Prelude> import Text.Printf
Prelude Text.Printf> map (printf "%03d" :: Int -> String) [375,889,24]
["375","889","024"]
Le plus idiomatiques façon de le faire est d'utiliser les fonctions map
et show
.
Prelude> map show [375,889,24]
["375","889","024"]
show
peut être utilisé pour convertir la plupart des valeurs à une chaîne. map
applique cette fonction à tous les éléments d'une liste map
.
comment puis-je mettre cela ensemble avec le code là-haut – marco
@ifan: 'map (printf"% 03d ":: Int -> String) (digs 24889375)'. – kennytm
merci beaucoup ... – marco