[Haskell-cafe] weird

wenduan xuwenduan2010 at gmail.com
Fri Jul 15 16:00:43 EDT 2005


The following function which converts a number represents a sum of money 
in pence didn't work as expected and the result didn't make any sense to 
me:

penceToString :: Price -> String
penceToString  p  =
  let  str  =  show p
       len  =  length str
  in
    if len ==1 then "0.0" ++ str else
         if len ==2 then "0." ++ str else (take (len-2) str) ++ "." ++ 
(drop (len - 2) str )

*Main> penceToString 234566666667899999999786
"-6710990.94"

?!?!

-- 
X.W.D



More information about the Haskell-Cafe mailing list