[英]converting jdouble to double of type c
如何将java类型变量的jdouble
转换为c类型的double
变量?
You don't have to, it's just a typedef like so: 你不必,它只是一个类似于这样的typedef:
typedef double jdouble;
So no conversion is needed, once you have a jdouble
you can treat it just as a double
. 所以不需要转换,一旦你有一个
jdouble
你可以把它当作double
对待。
See for instance this code example from Standford : 例如,参见Standford的这个代码示例 :
JNIEXPORT jdouble JNICALL Java_Summer_sum__DD
(JNIEnv *env, jobject jobj, jdouble j1, jdouble j2) {
return j1 + j2;
}
The addition is done directly with the jdouble
values, trusting the compiler to figure out how to generate the required code. 添加是直接使用
jdouble
值完成的,信任编译器以确定如何生成所需的代码。
No convertion is needed. 不需要转换。 I've used a simple static cast.
我用过一个简单的静态演员。
jfieldID varPtr = env->GetFieldID(dataClass, "var", "D");
jdouble jdoubleVar = env->GetDoubleField(dataClass, varPtr);
double varDouble = static_cast<double>(jdoubleVar);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.