2010-10-23 148 views
1

與此代碼整數[字符串]

digs 0 = [] 

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

例如:24889375
我們把結果[375,889,24]

我怎樣才能使這個["375","889","024"]

回答

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

我怎麼能把這個代碼放在那裏 – marco 2010-10-23 15:58:46

+0

@ifan:'map(printf「%03d」:: Int - > String)(挖掘24889375)'。 – kennytm 2010-10-23 16:00:35

+0

非常感謝您... – marco 2010-10-23 16:04:08

2

最地道方法是使用功能mapshow

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

show可用於將大多數值轉換爲字符串。 map將該函數應用於列表map的每個元素。

+0

提供[「375」,「889」,「24」]除了0 – marco 2010-10-23 16:54:31

+2

OK:'map(tail。show。(+ 1000))[375,889,24]' – Yitz 2010-10-23 20:56:37