java - java中如何从long double中获取int?

标签 java int double

我想用java做这个数学:

int index = 3 * (9568/20001);

在我的计算器中,它显示 3 *( 0.47837608... ) 即 1.43512824..

但是,在 Java 中,即使我尝试使用格式或 java.lang.Math.round,它总是给我 0。

1.43512824的第一个位置int 1就是我想要得到的。

最佳答案

试试这个

int index = (int)3 * (9568.0/20001);

因为在java中整数除以整数会得到整数,因此你的答案将不准确。如果您编写9568.0/20001,它会给出双倍结果,因此结果更准确。

关于java - java中如何从long double中获取int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30860386/

相关文章:

java - 如何过滤可编辑组合框或组合查看器中的值

java - 无法替换字符串

mysql - 用零填充 mysql INT 字段的开头

c# - 为什么我的带有双参数的 Web API 方法没有被调用?

optimization - 避免 float 到 Common Lisp 中的指针强制转换

java - 在Java中不反射地查找包内的所有类

java - 坚不可摧 - HTTP 参数

c++ - 为什么首选 uint32_t 而不是 uint_fast32_t?

python - 仅反转列表中的整数,无需切片或反向()

android - 如何避免双重科学记数法?