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

ESP32连接电子墨水屏显示加密货币价格按区间调整小数位数问题

ESP32加密货币价格自定义精度显示解决方案

实现思路

模仿现有代码中formatPercentageChange的工具函数设计思路,新增独立的价格格式化函数处理不同区间的小数保留规则,避免直接在行内写if-else引发的语法错误,同时后续修改规则更方便。

具体修改步骤

  1. 新增价格格式化工具函数

将以下代码添加到你现有代码中formatPercentageChange函数的后面即可:

String formatCryptoPrice(double price) {
  // 异常值兜底处理
  if (price < 0) return "0.00";
  // 按你要求的区间匹配精度
  if (price < 1) {
    return String(price, 6);
  } else if (price >= 1 && price < 10) {
    return String(price, 4);
  } else {
    // 10及以上(含10~100、100以上)统一保留2位小数,可按需调整
    return String(price, 2);
  }
}

如果需要单独区分10~100区间的精度,可修改else分支为:

} else if (price >=10 && price <100) {
    return String(price, 2); // 这里可以改成你需要的精度,比如3位就填3
  } else {
    return String(price, 2);
  }
  1. 替换原有的价格转换代码

找到renderCryptoCard函数中的原有代码:

String Str = String (crypto.price.eur, 6);

直接替换为:

String Str = formatCryptoPrice(crypto.price.eur);

验证说明

修改完成后编译上传即可,价格会自动按你设定的规则保留小数位,四舍五入逻辑由Arduino的String类内置实现,无需额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:06:10