Java 使用大分数时使用哪种数据类型?
我正在从事一个NLP项目,我应该计算这个表达式: 频率=1/345128 我使用的是float和double,它将其读取为0.0,这对我没有帮助,因为我希望精确数字至少达到小数点后6位 早些时候,当我做这项工作时,我只是将这个数字乘以10^6,因为我只是比较两个值。但是现在不同了,我需要确切的数字。是否有我可以使用的变通方法。我怀疑a是一个整数变量,这意味着您的代码使用整数除法截断结果。如果是这种情况,则需要将表达式转换为浮点除法:Java 使用大分数时使用哪种数据类型?,java,floating-accuracy,Java,Floating Accuracy,我正在从事一个NLP项目,我应该计算这个表达式: 频率=1/345128 我使用的是float和double,它将其读取为0.0,这对我没有帮助,因为我希望精确数字至少达到小数点后6位 早些时候,当我做这项工作时,我只是将这个数字乘以10^6,因为我只是比较两个值。但是现在不同了,我需要确切的数字。是否有我可以使用的变通方法。我怀疑a是一个整数变量,这意味着您的代码使用整数除法截断结果。如果是这种情况,则需要将表达式转换为浮点除法: freq = a / 345128.0; 我怀疑a是一个整数
freq = a / 345128.0;
我怀疑a是一个整数变量,这意味着您的代码使用整数除法来截断结果。如果是这种情况,则需要将表达式转换为浮点除法:
freq = a / 345128.0;
必须将分子或分母转换为双精度
public class TestMain
{
public static void main(String args[])
{
double freq=1d/345128d;
System.out.println(freq);
}
}
必须将分子或分母转换为双精度
public class TestMain
{
public static void main(String args[])
{
double freq=1d/345128d;
System.out.println(freq);
}
}