You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何将两个字符串表示为上标形式(如2^3)

Java中实现数字字符串的上标格式

你之前用的"\u00b"是无效的Unicode转义(完整的Unicode转义需要4位十六进制字符),而且数字的上标有专门的Unicode编码,下面是两种可行的解决方案:

1. 直接使用单个数字的上标Unicode字符

数字0-9对应的上标Unicode编码如下:

  • 0: \u2070
  • 1: \u00b9
  • 2: \u00b2
  • 3: \u00b3
  • 4: \u2074
  • 5: \u2075
  • 6: \u2076
  • 7: \u2077
  • 8: \u2078
  • 9: \u2079

针对你的示例,直接拼接即可:

String formatted = "2" + "\u00b3";
System.out.println(formatted); // 输出 2³

2. 动态处理任意数字字符串(多数字场景)

如果你的指数是多数字字符串(比如"123"),可以写个工具方法批量替换:

public static String convertToSuperscript(String numberStr) {
    StringBuilder sb = new StringBuilder();
    for (char c : numberStr.toCharArray()) {
        switch (c) {
            case '0': sb.append('\u2070'); break;
            case '1': sb.append('\u00b9'); break;
            case '2': sb.append('\u00b2'); break;
            case '3': sb.append('\u00b3'); break;
            case '4': sb.append('\u2074'); break;
            case '5': sb.append('\u2075'); break;
            case '6': sb.append('\u2076'); break;
            case '7': sb.append('\u2077'); break;
            case '8': sb.append('\u2078'); break;
            case '9': sb.append('\u2079'); break;
            default: sb.append(c); // 非数字字符原样保留
        }
    }
    return sb.toString();
}

调用示例:

String base = "2";
String exponent = "3";
String result = base + convertToSuperscript(exponent);
System.out.println(result); // 输出 2³

注意:这种方式依赖于显示环境支持对应的Unicode上标字符,现代系统和主流字体基本都能正常显示。

内容的提问来源于stack exchange,提问作者sukriti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:40:31