我正在通过编写一个将美分价格转换成美元的程序来练习Haskell.显然,这意味着我的Int需要成为一个Double,但我希望我的最终输出是String的输出.我的代码:
首先,我定义了我的Price类型:
type Price = Int
然后,我写了我的模块:
formatDollars :: Price -> String
formatDollars x = show (fromIntegral (x `div` 100))
Run Code Online (Sandbox Code Playgroud)
我的测试输入x是188,这应该给我1.88.
但我的输出总是如此"1".这让我觉得我的fromIntegral函数可能无法在我的代码中正确使用,就像它在小数点后截断一样.由于我对Haskell很新,我确信这是一个简单的错误; 有人可以帮帮我吗?