Android ndk 在android应用程序的本机端正确打印Double

Android ndk 在android应用程序的本机端正确打印Double,android-ndk,java-native-interface,double,format-specifiers,Android Ndk,Java Native Interface,Double,Format Specifiers,我有一个ndk方法: #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, __VA_ARGS__) _getDecimalDouble4(JNIEnv *env, jobject this, jdouble doubleval) { LOGD("NDK:LC: Native double [%E]", doubleval); } 输入1.23456789128E8的输出似乎总是: "NDK:LC:

我有一个ndk方法:

#define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, __VA_ARGS__)

_getDecimalDouble4(JNIEnv *env, jobject this, jdouble doubleval)
{
    LOGD("NDK:LC: Native double [%E]", doubleval);
}
输入1.23456789128E8的输出似乎总是:

"NDK:LC: Native double [6.138557E-314]"

如何显示精确值?

在Android上,jdouble相当于double。这个函数在Java代码中是如何声明的;将双大写改为双大写。一个是对象,一个是双精度浮点值。@fadden解决了这个问题。谢谢