2013-09-22 41 views
1

大多数网站给我同样的答案,这是Math.round()但J2ME没有相同的功能。 我想要一个更具体的。我在这方面真的很麻烦。J2ME:如何将指数数字四舍五入成两位小数?

实施例,我有这样的值:

双X = 5.449681394262832E-6;

我希望它变成:5.45;没有指数,只有两位小数。请不要给我Java的答案,我需要更多针对J2ME的具体内容。

+0

看看[这个问题](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)。去除指数对我来说看起来是个不好的主意,除非你总是处理十个相同的幂。如果是这样,那么你最好的选择可能是使用字符串操作去除指数,然后解析剩余的字符串,按照上面提到的问题所述进行加倍和循环。 –

+0

您也可以使用[MicroFloat](http://www.dclausen.net/projects/microfloat/)。 –

回答

0

你可以从这个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)); 
    } 
} 
+0

请你认为你可以帮助我解决这个问题https://stackoverflow.com/questions/23730176/j2me-how-to-parse-a-byte-array-into-xml-and-then-read-and-显示特定的数据 – Axel