Как мне добраться до haskell для вывода чисел НЕ в научной нотации? - PullRequest
16 голосов
/ 11 ноября 2011

У меня есть некоторые элементы, которые я хочу разделить на несколько сегментов, так что каждый сегмент на несколько долей больше, чем последний.

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

Я уверен, что математически большеэлегантный способ сделать это, но это не мой вопрос.Конечный шаг всегда распечатывается в научной записи.

Как мне получить простой десятичный вывод?Я посмотрел на Числовой пакет, но быстро не добираюсь.

Ответы [ 2 ]

12 голосов
/ 12 ноября 2011
> putStrLn $ Numeric.showFFloat Nothing 1e40 ""
10000000000000000000000000000000000000000.0
11 голосов
/ 11 ноября 2011

Попробуйте 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
...