“if(double)”在C ++中做了什么

时间:2013-07-18 01:50:57

标签: java c++ syntax translation

我似乎无法解决这个问题,或者我已经让它工作了但是我的代码中的某处是另一个错误......

我的问题是,有人可以翻译这个C ++代码

if (!fmod(x[i][j], 1) && x[i][j]) {

到Java equivelent。 变量x在它的列表中有两倍。

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您可以使用%运算符代替fmod

if ((x[i][j] % 1.0 == 0) && (x[i][j] != 0)) {

答案 1 :(得分:1)

if (x[i][j] % 1 == 0 && x[i][j] != 0 ) {

Java不会对布尔类型进行自动强制,因此您必须使用!===等制作布尔值。这只是检查x[i][j]处的双精度值是一个非零整数。 (在C ++中,任何非零都是true,零是false。)