四分之一计数器 (kotlin)

Quarter counter (kotlin)

好的,首先我想说我是一个新的程序员而且我是自学的。我目前正在思考如何制作一个程序(我使用的是 Kotlin)来计算给定值的季度数,并说明剩余的变化。

所以如果我输入:1.45

输出会告诉我:

5 个季度

0.20 变化

现在,我已经对 void 方法进行了研究,但我仍然对它的外观感到困惑。有人愿意帮助我了解如何开始使用它吗?

我的意思是以美元计算的四分之一。因此,如果您有 1.40 美元/0.25 美元(季度)= 5 个季度和 0.20 美元剩余。所以我想做一些可以计算货币的东西。我已经有一个计算数学的弱代码,但我需要在 2 个不同的输出行上分开的季度数和剩余零钱。

fun main() {
    val input = "1.45"

    // here you convert the input into minor units, e.g. .45 => 145 cents
    val total = (input.toFloat() * 100).toInt()

    // here you get whole number of quarters
    val quartersCount = total / 25

    // here you get the change and convert it back to major units (20 cents => [=10=].2)
    val change = (total - 25 * quartersCount) / 100f

    println("$quartersCount quarters")
    println("${"%.2f".format(change)} Change")  // bit more complex just to keep 2 decimal places
}

您可以println将每个输出放在不同的行上

fun main() {
    change(1.25)
    changeWithNames(1.25)
}

fun change(x: Double) {
    println(x.div(0.25).toInt()) // toInt to cut off the remainder
    println(x.rem(0.25).toFloat()) // toFloat so that it rounds to the nearest hundreds place
}

fun changeWithNames(x: Double) {
    println("${"%s".format(x.div(0.25).toInt())} quarters")
    println("${"%.2f".format(x.rem(0.25))} Change")
}

fun changeWithDimes(x: Double) {
    var q = x.div(0.25).toInt() // Quarters
    var d = x.rem(0.25).div(0.10).toInt() // Dimes
    var rem = (x - (q * 0.25 + d * 0.10)).toFloat() // Remainder
    println(q) 
    println(d)
    println(rem)
}