2011-11-11 19 views
16

Bazı kepçelere bölmek istediğim bazı öğeler var; her kepçe, sondan biraz daha büyük bir kesir.Bilimsel gösterimde değil, çıktı numaralarına haskell'e nasıl ulaşırım?

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 

Bunu yapmak için bir matematiksel daha zarif bir yolu vardır eminim, ama bu benim soru değil. Son adım daima bilimsel gösterimde yazdırılıyor.

Düz ondalık çıktı nasıl elde edilir? Numeric paketine baktım ama hiçbir yere hızlı gitmiyorum.

+1

: [Haskell] (http://stackoverflow.com/questions/8098457/how-do-i-get-to-haskell-to-output-numbers- Bilimsel-notasyon değil) [Lua] (http://stackoverflow.com/questions/1133639/how-can-i-print-a-huge-number-in-lua-without-using-scientific-notation) [C++ ostreams] (http://stackoverflow.com/questions/2335657/prevent-scientific-notation-in-ostream-when-using-with-double) [Delphi] (http://stackoverflow.com/questions/6077153/nasıl yapılır-disable-bilimsel-notasyonu-in-asstring-in-delphi) –

cevap

9

printf ürününü deneyin. örneğin:

diğer diller için İlgili
> import Text.Printf 
> printf "%d\n" (23::Int) 
23 
> printf "%s %s\n" "Hello" "World" 
Hello World 
> printf "%.2f\n" pi 
3.14 
12
> putStrLn $ Numeric.showFFloat Nothing 1e40 "" 
10000000000000000000000000000000000000000.0