0

我正在创建一个使用百分比的应用程序。用户创建多个项目以使它们加起来达到 100%。例如:如果您有 3 个项目,每个项目占 33.3%,这意味着您缺少 0.1%。分数更清晰,因为它们是确切的数字。我想知道是否可以让用户选择输入双精度或分数。任何人都可以帮助我解决这个问题吗?我看过 inputTypes 和类似的东西,但我在分数上找不到任何东西。

提前致谢!

4

1 回答 1

2

正如@Bartek 正确指出的那样,Android 没有本机工具来操作分数。这是有道理的,因为要表示一个分数,你需要一个新的“对象”来存储 2 个值:分子和分母。操作这些对象将变得越来越困难,因为每次添加都需要寻找最小的公分母。而且我们不能真正解决分数。我们如何准确地表示三的平方根?然后是下一个问题,我们如何计算三的平方根和十八又四分之三的立方根的和?

所以我建议在计算中到处使用双精度数,但在屏幕上打印时将它们四舍五入到逗号后的第二个数字。即当用户键入 100/3 时,保留33.3333333在内存中,但在屏幕上打印 33.33。如果将其中三个相加,则得到 99.9999999,当四舍五入到第二位时将显示 100.00。我确实意识到这种方法可能会引入某些错误,但对于实际的现实应用程序,这个错误可能可以忽略不计。

于 2013-03-10T08:38:51.380 回答