如何将jdouble
java 类型变量转换为double
c 类型的变量?
问问题
5827 次
2 回答
8
你不必这样做,它只是一个像这样的 typedef:
typedef double jdouble;
所以不需要转换,一旦你有了 ajdouble
你就可以把它当作double
.
例如,请参见Standford的此代码示例:
JNIEXPORT jdouble JNICALL Java_Summer_sum__DD
(JNIEnv *env, jobject jobj, jdouble j1, jdouble j2) {
return j1 + j2;
}
添加是直接使用jdouble
值完成的,相信编译器会弄清楚如何生成所需的代码。
于 2012-05-09T12:17:52.483 回答
0
不需要转换。我使用了一个简单的静态演员表。
jfieldID varPtr = env->GetFieldID(dataClass, "var", "D");
jdouble jdoubleVar = env->GetDoubleField(dataClass, varPtr);
double varDouble = static_cast<double>(jdoubleVar);
于 2017-03-02T16:53:11.430 回答