gpt4 book ai didi

java - 将小数更改为整数(不四舍五入)

转载 作者:太空宇宙 更新时间:2023-11-04 06:27:01 26 4
gpt4 key购买 nike

所以我正在制作一个可以解决经验公式问题的应用程序,我需要一些代码来执行以下操作:如果数字是2.5、1、3,则应将其改为2.5*2 = 5、1*2 = 2、3*2 = 6,以便将带小数的数字转换为整数,并适当调整其他数字。

我想到了这个逻辑:

for(n = 1; (Math.round(simplestRat[0]) * n) != (int)SimplestRat[0]; n++)

增加一个计数器,该计数器将乘以一个整数来执行我想要的操作,但即使在这个阶段我也对这段代码持怀疑态度,并且认为它不会起作用。

如果有人可以为此建议一个代码或改进此代码,甚至给我一个有关此问题的另一篇文章的链接,那将会有很大的帮助,因为我无法找到有关此类问题的任何内容。

感谢任何帮助。谢谢

最佳答案

好吧,所以你必须采取一些步骤。首先,将它们全部转化为整数。最简单的方法是找到适当的 10 次幂,将它们全部乘以,使它们成为整数。这是一个有用的检查:How to test if a double is an integer .

然后将它们转换为整数,并开始通过它们寻找共同的质因数。这将是一个类似于埃拉托色尼筛法 (http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes) 的过程,但最后会进行除法。对于每个素数,查看所有 3 个数字是否都被它精确整除(模素数 == 0)。如果是,则将质数除以 2。如果不是,则将质数重置为 2。

这应该为您提供数字之间的最低公比。来自原始阶段的任何额外乘数都被公共(public)素数方法削除。

关于java - 将小数更改为整数(不四舍五入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26659966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com