1-- showing/reading floats 2-- 3module Main(main) where 4 5import Numeric 6 7main = do 8 let dbls = map (shEFloat (Just 7)) doubles 9 ++ map (shEFloat (Just 0)) doubles 10 ++ map (shEFloat Nothing) doubles 11 ++ map (shFFloat (Just 7)) doubles 12 ++ map (shFFloat (Just 0)) doubles 13 ++ map (shFFloat Nothing) doubles 14 ++ map (shGFloat (Just 7)) doubles 15 ++ map (shGFloat (Just 0)) doubles 16 ++ map (shGFloat Nothing) doubles 17 18 flts = map (shEFloat (Just 7)) floats 19 ++ map (shEFloat (Just 0)) floats 20 ++ map (shEFloat Nothing) floats 21 ++ map (shFFloat (Just 7)) floats 22 ++ map (shFFloat (Just 0)) floats 23 ++ map (shFFloat Nothing) floats 24 ++ map (shGFloat (Just 7)) floats 25 ++ map (shGFloat (Just 0)) floats 26 ++ map (shGFloat Nothing) floats 27 28 putStrLn (unlines dbls) 29 putStrLn (unlines flts) 30 print (map read dbls :: [Double]) 31 print (map read flts :: [Double]) 32 33shEFloat p f = showEFloat p f "" 34shFFloat p f = showFFloat p f "" 35shGFloat p f = showGFloat p f "" 36 37doubles :: [ Double ] 38doubles = [ 0.0 39 , 420 40 , 42 41 , 4.2 42 , 0.42 43 , 0.042 44 , 1.82173691287639817263897126389712638972163 45 , 1.82173691287639817263897126389712638972163e-300 46 ] 47 48floats :: [ Float ] 49floats = [ 0.0 50 , 420 51 , 42 52 , 4.2 53 , 0.42 54 , 0.042 55 , 1.82173691287639817263897126389712638972163 56 , 1.82173691287639817263897126389712638972163e-300 57 ] 58