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

解决办法

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);
    }
}
相关推荐
冷琅辞11 分钟前
Elixir语言的云计算
开发语言·后端·golang
Mryan20051 小时前
解决GraalVM Native Maven Plugin错误:JAVA_HOME未指向GraalVM Distribution
java·开发语言·spring boot·maven
Naomi5211 小时前
自定义汇编语言(Custom Assembly Language) 和 Unix & Git
服务器·开发语言·git·unix
烂蜻蜓1 小时前
C 语言命令行参数:让程序交互更灵活
c语言·开发语言·交互
VX_CXsjNo11 小时前
免费送源码:Java+SSM+Android Studio 基于Android Studio游戏搜索app的设计与实现 计算机毕业设计原创定制
java·spring boot·spring·游戏·eclipse·android studio·android-studio
zm-v-159304339861 小时前
解锁 DeepSeek 与 Matlab:攻克科研难题的技术利刃
开发语言·matlab·信息可视化
ylfhpy1 小时前
Java面试黄金宝典33
java·开发语言·数据结构·面试·职场和发展·排序算法
照书抄代码1 小时前
C++11可变参数模板单例模式
开发语言·c++·单例模式·c++11
No0d1es1 小时前
CCF GESP C++编程 四级认证真题 2025年3月
开发语言·c++·青少年编程·gesp·ccf·四级·202503
乘风!1 小时前
Java导出excel,表格插入pdf附件,以及实现过程中遇见的坑
java·pdf·excel