Ответ 1
Попробуйте printf. например:.
> import Text.Printf
> printf "%d\n" (23::Int)
23
> printf "%s %s\n" "Hello" "World"
Hello World
> printf "%.2f\n" pi
3.14
У меня есть некоторые элементы, которые я хочу разбить на несколько ковшей, так что каждое ведро имеет некоторую долю, большую, чем последняя.
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
Я уверен, что есть математически более элегантный способ сделать это, но это не мой вопрос. Конечный шаг всегда печатается в научной нотации.
Как получить простой десятичный вывод? Я просмотрел пакет Numeric, но я никуда не ускоряюсь.
Попробуйте printf. например:.
> import Text.Printf
> printf "%d\n" (23::Int)
23
> printf "%s %s\n" "Hello" "World"
Hello World
> printf "%.2f\n" pi
3.14
> putStrLn $ Numeric.showFFloat Nothing 1e40 ""
10000000000000000000000000000000000000000.0