如何在java中将科学记数法显示为10的幂?

时间:2015-08-01 19:00:06

标签: java

有没有什么方法可以在" 10"的功率下显示大数字?而不是" E"像这样:

1x10²

而不是:

1.0E2

由于

2 个答案:

答案 0 :(得分:3)

如果性能无关紧要,您可以编写自己的程序进行转换。

public String toScientific(String input) {
    String result = "";
    int indexOfE = input.indexOf("E");

    result = input.substring(0, indexOfE); // Get first part (e.g. "1.0")
    result += " x 10^"; // Add "x 10^" --> "1.0 x 10^"
    result += input.substring(indexOfE + 1, input.length()); // Add exponent

    return result;
}

输入:“1.0E2”,输出:“1.0 x 10 ^ 2”

答案 1 :(得分:2)

实际上有一种打印上标字符的方法。 Unicode允许您打印0到9之间的任何数字作为上标(2070到2079,见http://unicode.org/charts/PDF/U2070.pdf

从那里读取输入数字和一些字符串格式以确定需要打印哪些Unicode字符。不幸的是,我不认为java中有一个预建的库可以帮到你。如果您需要示例代码,请告诉我,我可以提供。

编辑:这对控制台很有用。如果您需要将其放入GUI组件中,JLabel可以接受HTML,因此您可以说new JLabel("<html>1x10<sup>2</sup></html>");在表单中显示该内容。