0
A
回答
5
沒有0000
類型Int
這是不同於0
,所以這是不可能的。這不是Haskell所特有的:你會看到任何其他語言與數字類型相同(即基本上任何語言)。
但是,當你說:「結果是0
」,你應該更正確地說,結果打印爲0
,一般你將有功能允許您打印相同的值0000
,但再次榮獲」 t區分0
和0000
整數值。
如果你想保留這些信息,你需要一個不同的類型。哪一個取決於你需要什麼。例如。它可能是
data Digits = Digits [Int]
其中列表的每個元素是從0
到9
(或直接使用[Int]
)。或
data IntWithPaddingZeros = IntWithPaddingZeros { value :: Int, paddingZeros :: Int }
等等
2
你必須定義一個新的數據類型一樣MyInt
或者說Mint
並告訴編譯器如何顯示它。
data Mint = M Int
instance Show Mint where
show (M n) = "000" ++ show n
*Main> M 7
0007
這當然是一個非常簡單的例子。你可以想出一個更概念化的展示函數,如果整數大於1位,它可以推導出要添加的零的數量。
OK,讓我們發展我們的表現功能遠一點......
data Mint = M Int
instance Show Mint where
show (M n) = replicate (3 - (round . (logBase 10) . fromIntegral) n) '0' ++ show n
*Main> M 133
0133
*Main> M 22
0022
*Main> M 0
0000
*Main> M 1453
1453
相關問題
- 1. 將字符串轉換爲int,int轉換爲字符串
- 2. 的Python int轉換成字符串保持零
- 3. 將int(數字)轉換爲前導零的字符串? (4位)
- 4. C#將int轉換爲帶填充零的字符串?
- 5. 將int轉換爲前導零的字符串
- 6. java將字符串轉換爲int並刪除尾隨零
- 7. 轉換INT [] []將字符串
- 8. 無法將零轉換爲字符串
- 9. 如何將字符串轉換爲int?
- 10. '字符串'不能轉換爲'Int'
- 11. 字符串轉換爲int值?
- 12. 轉換字符串值爲int
- 13. 如何轉換爲int字符串值?
- 14. 如何將字符串轉換爲int?
- 15. int轉換爲字符串的PHP
- 16. 將int轉換爲字符串sql
- 17. C++,將字符串轉換爲int
- 18. 轉換int數組爲字符串JAVA
- 19. FILTER_SANITIZE_NUMBER_INT不字符串轉換爲int
- 20. JAQL將int轉換爲字符串
- 21. 將字符串轉換爲int []
- 22. 字符串轉換爲INT的Javascript
- 23. 無法從字符串轉換爲Int
- 24. 轉換爲int分割字符串
- 25. 將字符串類型轉換爲int
- 26. C:將int轉換爲字符串
- 27. 將int和char轉換爲字符串
- 28. 將字符串轉換爲int - java.lang.NumberFormatException.forInputString
- 29. 將int轉換爲字符串數組
- 30. 將字符串轉換爲int c
,什麼是0000? – Redu
你爲什麼要這樣? –
@Redu 0000是一個Int –