android - 在 JNI 中将 double 科学记数法转换为十进制记数法

标签 android c formatting java-native-interface double

我有来 self 的 Activity 的 jdouble(double) 值,该值在打印时以科学记数法给出,即 E 格式。现在我想以十进制格式显示它并截断它,所以我在格式说明符中使用“%.2f”来做到这一点。但奇怪的是,“%f”格式说明符显示 0.000000 作为最终值。请提出一些建议。

P.S 我是在 Android 的 native 端执行此操作。

最佳答案

为了显示小数而不是 E 格式表示法并截断数字,您可以使用 NumberFormat:

 NumberFormat formatter = new DecimalFormat("#0.000");

然后,您想在哪里使用您的号码:

formatter.format(yournumber)

例如:

Toast.makeText(context, "Truncated number: " + formatter.format(yournumber), Toast.LENGTH_LONG).show();

在这种情况下,您的号码将显示为小数点后 3 位。 添加您想要显示的小数位数的零。

关于android - 在 JNI 中将 double 科学记数法转换为十进制记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25158784/

相关文章:

android - ProgressBar Circle 在 android L (API 21) 上没有显示任何进展

android - 为 Google Cloud Endpoint API 设置 TLS 代理

c - io_submit() 阻塞直到上一个操作完成

numpy - f numpy 数组的字符串格式

c++ - 我应该在我的 C++ 代码中使用 printf 吗?

Android : Difference between View. GONE 和 View.INVISIBLE?

android - 如何在 Android 中使用按钮事件在 GridView 中添加行和列?

c - 此 c 程序中的错误格式警告

c - 如何使数据库大小超过 256 字节 [链接器文件 - MPLAB]

python - 如何将 Python Pandas DataFrame 写入具有特定列类型格式的 .XLS 文件?