有没有办法让我像这样用"10“的幂代替"E”来显示大数:
1x10²而不是:
1.0E2谢谢
发布于 2015-08-02 03:08:04
如果性能无关紧要,您可以编写自己的过程来进行转换。
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”
发布于 2015-08-02 03:07:32
事实上,有一种方法可以打印出上标字符。Unicode允许您打印从0到9的任何数字作为上标(2070到2079,请参阅http://unicode.org/charts/PDF/U2070.pdf)
从这里开始,只需读取您的输入数字和一些字符串格式,以确定需要打印哪些Unicode字符。不幸的是,我不认为java中有一个预建的库可以帮你做到这一点。让我知道,如果你需要样本代码,我可以提供它。
编辑:这对控制台是有好处的。如果您需要将其放入图形用户界面组件中,JLabel可以接受HTML语言,因此您可以使用new JLabel("<html>1x10<sup>2</sup></html>");将其显示在表单中。
https://stackoverflow.com/questions/31765141
复制相似问题