Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get to haskell to output numbers NOT in scientific notation?

I have a some items that I want to partition in to a number of buckets, such that each bucket is some fraction larger than the last.

items = 500
chunks = 5
increment = 0.20


{- find the proportions  -}
sizes = take chunks (iterate (+increment) 1)    
base = sum sizes / items    
buckets = map (base *) sizes

main = print buckets

I'm sure there is a mathematically more elegant way to do this, but that's not my question. The end step is always printing out in scientific notation.

How do I get plain decimal output? I've looked at the Numeric package but I'm getting nowhere fast.

like image 266
nont Avatar asked Nov 11 '11 18:11

nont


2 Answers

> putStrLn $ Numeric.showFFloat Nothing 1e40 ""
10000000000000000000000000000000000000000.0
like image 179
newacct Avatar answered Nov 20 '22 09:11

newacct


Try printf. e.g.:

> import Text.Printf
> printf "%d\n" (23::Int)
23
> printf "%s %s\n" "Hello" "World"
Hello World
> printf "%.2f\n" pi
3.14
like image 28
Claudiu Avatar answered Nov 20 '22 09:11

Claudiu