前端传值到后端,后端解析为科学计数法

解决办法

1、new BigDecimal

我们使用了BigDecimal 类来处理科学计数法表示的数字。将科学计数法表示的数字作为字符串传递给BigDecimal构造函数,它将自动将其转换为普通的数字表示

java 复制代码
import java.math.BigDecimal;
public class ScientificToDecimal {
    public static void main(String[] args) {
        String decimalNumber = "1.3860490888E8";
        String result = StringUtils.isNotBlank(decimalNumber) ? new BigDecimal(decimalNumber ).toPlainString() : new BigDecimal("").toPlainString()
        System.out.println(result );//138604908.88
    }
}

2、使用字符串的替换

我们首先将科学计数法表示的数字按照字符"E"进行分割,得到两个部分:底数和指数。然后,将底数部分转换为double 类型,并使用Math.pow方法计算出最终的十进制表示

java 复制代码
public class ScientificToDecimal {
    public static void main(String[] args) {
        String scientificNumber = "2.3456789E10";
        String[] parts = scientificNumber.toUpperCase().split("E");
        double decimalNumber = Double.parseDouble(parts[0]) * Math.pow(10, Double.parseDouble(parts[1]));
        System.out.println(decimalNumber);
    }
}
相关推荐
吴声子夜歌几秒前
JavaScript——字符串和正则表达式
开发语言·javascript·正则表达式
林恒smileZAZ几秒前
JavaScript this绑定规则:告别踩坑指南!
开发语言·javascript·ecmascript
橘子编程2 分钟前
CSS 全栈指南:从基础到 2025 新特性
前端·css·chrome·tensorflow·less·css3·html5
2401_873204654 分钟前
C++代码重构实战
开发语言·c++·算法
crossoverJie4 分钟前
OpenAI 收购 Python 工具链 uv 和 Ruff
开发语言·人工智能·python·uv
wangchunting5 分钟前
Jvm-垃圾回收算法
java·jvm·算法
ofoxcoding6 分钟前
GPT-5.4 Mini vs Nano 怎么选?2026 实测对比,一张表说清楚
开发语言·gpt·ai·php
Java面试题总结6 分钟前
新人笔记之模板方法模式
java·笔记·模板方法模式
NGC_66118 分钟前
深入理解 Java 线程池:从原理到实战
java·开发语言·python
xiaolang_8616_wjl9 分钟前
c++游戏_寻宝猎人_开源
开发语言·c++