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

Java Android下从字符串提取数字后生成带后置零循环格式的实现方法

Android Java 实现拆分数字并按权值输出的方案

以下是可直接在Android Studio中运行的实现代码:

// 你原有提取纯数字的逻辑
String y = "9.86-A5.321";
String x = y.replaceAll("\\D+","");

// 空值保护
if (x.isEmpty()) {
    textview.setText("未提取到有效数字");
    return;
}

StringBuilder resultBuilder = new StringBuilder();
// 先追加原始数字
resultBuilder.append(x).append("\n");

int digitLength = x.length();
for (int i = 0; i < digitLength; i++) {
    // 取出当前位的数字
    int currentDigit = Character.getNumericValue(x.charAt(i));
    // 计算当前位对应的权值结果,用long避免长数字溢出
    long weightedValue = (long) (currentDigit * Math.pow(10, digitLength - i - 1));
    resultBuilder.append(weightedValue).append("\n");
}

// 去除末尾多余换行后设置到TextView
textview.setText(resultBuilder.toString().trim());

逻辑说明

  • 复用了你已有的replaceAll提取纯数字的逻辑,无需调整原有前置流程
  • 使用StringBuilder拼接结果,相比直接字符串拼接性能更好,适合Android UI渲染场景
  • 计算权值时用long类型接收结果,避免数字位数过长时int溢出的问题
  • 加入了空值判断,避免提取不到数字时出现崩溃
    运行后输出的内容和你要求的格式完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:27:02