java - 使用大分数时应使用哪种数据类型?

标签 java floating-accuracy

我正在做一个 NLP 项目,我应该计算这个表达式:

freq=1/345128

我正在使用 float 和 double,它读取的是 0.0,这对我没有帮助,因为我希望精确数字至少保留 6 位小数。

早些时候,我只是将数字乘以 10^6,因为我只是比较两个值。但是现在不同了,我需要确切的数字。有没有我可以使用的解决方法。

最佳答案

我怀疑 a 是一个整数变量,这意味着您的代码正在使用整数除法(截断结果)。如果是这样,则需要将表达式转换为浮点除法:

freq = a / 345128.0;

关于java - 使用大分数时应使用哪种数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15336454/

相关文章:

java - findViewById 在 func 中动态转换?

java - Maven 无法构建 pom

java.security.AccessControlException : access denied ("java.net.SocketPermission" "localhost:10648" "listen,resolve")

floating-point - 在 Lua 中使用模时不准确

java - Android fragment 预加载数据

java - 2 个 Tomcat 实例 - 2 个应用程序之间的通信

math - float 学坏了吗?

python - 为什么 (0.0006*100000)%10 是 10

JavaScript 数学给出了完全错误的结果

c# - 除法时的小数舍入误差 (C#)