Как написать целое число и строку вместе в Haskell? - PullRequest
0 голосов
/ 28 января 2020
coin :: Int -> Int -> Int -> Int -> Int
dollar :: Int -> Int -> Int -> Int -> Int
sen :: Int -> Int -> Int -> Int -> Int

coin q d n p = (q * 25) + (d * 10) + (n * 5) + (p * 1)
dollar q d n p = (coin q d n p) `div` 100
sen q d n p = (coin q d n p) `mod` 100

Предположим, (dollar q d n p) равно 6, а (sen q d n p) равно 27.

Как записать "6 dollar and 27 sen" в Haskell для вывода?

Я могу сделать это в Python,

# [Input]

    dollar = 2 * 3
    sen = 3 * 9
    print(dollar, " dollar and ", sen, "sen")

# [Output]
# 6 dollar and 27 sen

Тогда как записать это в Haskell, чтобы вывод мог быть таким же?

1 Ответ

1 голос
/ 28 января 2020
putStrLn $ (show dollar) ++ " dollar and " ++ (show sen) ++ "sen"

или (используя модуль Text.Printf)

import Text.Printf

printf "%d dollar and %d sen\n" dollar sen
...