在JNI中将双科学记数法转换为十进制记数法

时间:2014-08-06 11:07:22

标签: android c formatting java-native-interface double

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

P.S我在android的原生方面这样做。

1 个答案:

答案 0 :(得分:1)

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

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

然后,您想要使用您的号码:

formatter.format(yournumber)

e.g:

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

在这种情况下,您的号码将以3位小数显示。 添加与要显示的小数一样多的零。