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

解决办法

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);
    }
}
相关推荐
爱喝水的小鼠1 分钟前
Vue3(一) Vite创建Vue3工程,选项式API与组合式API;setup的使用;Vue中的响应式ref,reactive
前端·javascript·vue.js
WeiShuai16 分钟前
vue-cli3使用DllPlugin优化webpack打包性能
前端·javascript
重生之我要进大厂19 分钟前
LeetCode 876
java·开发语言·数据结构·算法·leetcode
_祝你今天愉快22 分钟前
技术成神之路:设计模式(十四)享元模式
java·设计模式
ice___Cpu22 分钟前
Linux 基本使用和 web 程序部署 ( 8000 字 Linux 入门 )
linux·运维·前端
JYbill25 分钟前
nestjs使用ESM模块化
前端
Amo Xiang35 分钟前
Python 常用模块(四):shutil模块
开发语言·python
加油吧x青年43 分钟前
Web端开启直播技术方案分享
前端·webrtc·直播
Happy鱿鱼1 小时前
C语言-数据结构 有向图拓扑排序TopologicalSort(邻接表存储)
c语言·开发语言·数据结构
KBDYD10101 小时前
C语言--结构体变量和数组的定义、初始化、赋值
c语言·开发语言·数据结构·算法