java - 没有得到带小数位的结果

标签 java floating-point

我正在用java做简单的计算。预期结果是 51.3348,但我得到的是 51.0,这是我的计算

    float percent = (7819140000l-3805200000l)*100/7819140000l;

数据类型有问题吗?我该如何解决这个问题以获得 51.3348 的值

提前致谢

最佳答案

将 f 添加到其中一个值:

float percent = (7819140000l-3805200000l)*100f/7819140000l;

如果 yiu 不这样做,Java 会按 long 值进行除法

关于java - 没有得到带小数位的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39285722/

相关文章:

java - 记录执行的 java 代码的行号

java - 兄弟位置改变时如何刷新android View 高度?

Java-获取n位小数

.net - Microsoft ACE 驱动程序更改了程序其余部分的浮点精度

java - 改变Java中数组的大小

JavaFX - 停止表列与父级一起调整大小

java - 库中的 generateReleaseBuildConfig 错误

c - 溢出与信息

c++ - 定义浮点等价关系的符合标准的方法

c# - 将 Math.Round 结果转换为 float 是否安全?