java - 显示一个数字的另一个数字的幂 - 上标
问题描述
在我的应用程序中,我想显示一个数字的文本视图,该数字被提升到另一个数字的幂。例如 2^3 但没有插入符号。我的实际数字采用科学形式 - 3.488807993e-5,我想将其显示为 3.4^e-5。这是我尝试过的
@Override
public String getFormattedValue(float value, AxisBase axis) {
String temp = String.format("%.2e", value);
String base = temp.substring(0, temp.indexOf('e'));
String power = temp.substring(temp.indexOf('e'));
return base + "<sup>" + power + "</sup>";
}
但是,它没有用。
解决方案
首先请记住3.4e-5表示3.4 * 10 -5所以在你的格式中它将是3.4*10^-5
然后您的代码可能看起来像这样(HALF_UP舍入和默认语言环境):
String temp = "3.45678e-5";
double base = Double.parseDouble(temp.substring(0, temp.indexOf('e'))); //need double
String power = temp.substring(temp.indexOf('e') + 1);
System.out.printf("%.2f*10^%s",base, power);
打印3.46*10^-5
。
对于 Android 格式,您可以使用(插入变量):
((TextView)findViewById(R.id.text)).setText(
Html.fromHtml("3.46*10<sup><small>-5</small></sup>")
);
推荐阅读
- python - 如何在特定类别中创建 discord.py 频道?
- image - Flutter Image.memory() ERROR 无效的图像数据
- python - 如何配置我的 jupyter notebook 以便在使用 keras 时使用可用的 GPU?
- c++ - 将真正的二进制文件写入文件
- windows - 汇编程序 printf 函数的奇怪行为
- vue.js - 如何在渲染 Vue 组件之前等待窗口对象中的变量?
- swift - 如何在 Swift 中编写一个将枚举与枚举案例进行比较的函数
- node.js - 如何让我的 Discord Bot 删除服务器中的所有频道
- r - 使用表函数计算 R 中的样本比例
- firebase - Firebase 电话身份验证:一些用户没有收到 OTP