大多数网站给我同样的答案,这是Math.round()但J2ME没有相同的功能。 我想要一个更具体的。我在这方面真的很麻烦。J2ME:如何将指数数字四舍五入成两位小数?
实施例,我有这样的值:
双X = 5.449681394262832E-6;
我希望它变成:5.45;没有指数,只有两位小数。请不要给我Java的答案,我需要更多针对J2ME的具体内容。
大多数网站给我同样的答案,这是Math.round()但J2ME没有相同的功能。 我想要一个更具体的。我在这方面真的很麻烦。J2ME:如何将指数数字四舍五入成两位小数?
实施例,我有这样的值:
双X = 5.449681394262832E-6;
我希望它变成:5.45;没有指数,只有两位小数。请不要给我Java的答案,我需要更多针对J2ME的具体内容。
你可以从这个double创建一个String,找到'。'和从那里的子串。
private static void noExponentValue(double x) {
String s = String.valueOf(x);
int i = s.indexOf('.');
if (i < 0) {
System.out.println(s + ".00");
} else {
i = Math.min(i + 3, s.length());
System.out.println(s.substring(0, i));
}
}
请你认为你可以帮助我解决这个问题https://stackoverflow.com/questions/23730176/j2me-how-to-parse-a-byte-array-into-xml-and-then-read-and-显示特定的数据 – Axel
看看[这个问题](http://stackoverflow.com/questions/4930598/is-there-a-round-off-function-in-j2me),也在[这一个] (http://stackoverflow.com/questions/1451149/rounding-a-double-to-5-decimal-places-in-java-me)。去除指数对我来说看起来是个不好的主意,除非你总是处理十个相同的幂。如果是这样,那么你最好的选择可能是使用字符串操作去除指数,然后解析剩余的字符串,按照上面提到的问题所述进行加倍和循环。 –
您也可以使用[MicroFloat](http://www.dclausen.net/projects/microfloat/)。 –