我该如何将Kotlin中的答案分开打印两种不同的类型



嗨,这是我在android studio/Kotlin中尝试编写的第一个程序,我不知道如何继续。

所以在我的程序中,我有一些数学任务要做,它做得很好,但我现在需要做的是把答案的一部分分开,然后把它隐藏起来,然后打印出两部分

例如,如果我的答案是1.5232,我想将答案的小数部分转换为与某个范围匹配的字符串。我的范围在.0000区域,所以我也想限制小数范围。

所以最终结果看起来像这个

1(无论我的字符串在范围内是什么(

我希望我包含了足够的信息,谢谢你提前。

任务的第一部分是将数字拆分为整数和分数部分:

val input = 1.5232
val integer = input.toInt() // rounds DOWN to nearest smaller Int
val fractional = input % 1.0 // The remainder when dividing by 1.0 is the fraction

在给定一定精度的情况下,我将使用的四舍五入到最近的小数的策略是乘以该精度,然后四舍五进到最近的整数。这将给你分子,精度将是分母:

val denominator = 8 // fractional precision
val numerator = (fractional * denominator).roundToInt() // rounds up or down to nearest Int

然后把它放在一起,你可以使用一个字符串模板:

val result = "$integer $numerator/$denominator"
println(result)

如果你需要的话,简化分数将是另一项任务。你们可以找到各种算法来寻找两个数字的最大公约数。使用其中一个,将分子和分母除以该值。

最新更新