Android 如何让用户对百分比使用分数而不是双精度?

Android 如何让用户对百分比使用分数而不是双精度?,android,double,fractions,Android,Double,Fractions,我正在创建一个使用百分比的应用程序。用户创建了多个项目,以使它们的总和达到100%。例如:如果您有3项,每项为33.3%,这意味着您缺少0.1%。分数要干净得多,因为它们是精确的数字。我想知道我是否能给用户一个选择,要么键入一个双精度的,要么键入一个分数。有谁能帮我解决这个问题吗?我看过输入类型之类的东西,但我就是找不到分数 提前谢谢 正如@Bartek正确指出的那样,Android没有本地设备来操作分数。这是有意义的,因为要表示一个分数,你需要有一个新的“对象”,它存储两个值:分子和分母。操纵

我正在创建一个使用百分比的应用程序。用户创建了多个项目,以使它们的总和达到100%。例如:如果您有3项,每项为33.3%,这意味着您缺少0.1%。分数要干净得多,因为它们是精确的数字。我想知道我是否能给用户一个选择,要么键入一个双精度的,要么键入一个分数。有谁能帮我解决这个问题吗?我看过输入类型之类的东西,但我就是找不到分数


提前谢谢

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


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

您需要进行字符串解析,android不支持分数。解析之后,您需要创建处理分数的附加类