From: Duncan C. <dun...@us...> - 2005-02-03 01:48:46
|
Update of /cvsroot/gtk2hs/gtk2hs/demo/calc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1987/demo/calc Modified Files: CalcModel.hs Log Message: Fix a bug in formatting numbers for display. I was stripping off trailing 0's too enthusiasticly. Index: CalcModel.hs =================================================================== RCS file: /cvsroot/gtk2hs/gtk2hs/demo/calc/CalcModel.hs,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- CalcModel.hs 28 Jan 2005 00:15:20 -0000 1.1 +++ CalcModel.hs 3 Feb 2005 01:48:37 -0000 1.2 @@ -113,13 +113,15 @@ precision = Just 5 --digits of precision, or Nothing for as much as possible showNumber :: Number -> String -showNumber = - (\num -> if num == [] then "0" else num) - . reverse - . dropWhile (\c -> c=='0' || c=='.') --strip trailing 0's - . reverse - . (\num -> showGFloat precision num "") - +showNumber num = + if '.' `elem` numStr then stripTrailingZeros numStr + else numStr + where numStr = showGFloat precision num "" + stripTrailingZeros = + reverse + . (\str -> if head str == '.' then tail str else str) + . dropWhile (\c -> c=='0') + . reverse testProg :: IO () testProg = do |