1

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

频率=1/345128

我正在使用浮点数和双精度数,它读取为 0.0,这对我没有帮助,因为我希望确切的数字至少为小数点后 6 位。

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

4

2 回答 2

8

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

freq = a / 345128.0;
于 2013-03-11T10:39:26.357 回答
1

您必须将分子或分母转换为双精度。

public class TestMain
{
    public static void main(String args[])
    {
        double freq=1d/345128d;
        System.out.println(freq);
    }
}
于 2013-03-11T10:44:07.307 回答