解决办法
1、new BigDecimal
我们使用了BigDecimal类来处理科学计数法表示的数字。将科学计数法表示的数字作为字符串传递给BigDecimal构造函数,它将自动将其转换为普通的数字表示
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方法计算出最终的十进制表示
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);
}
}
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 前端传值到后端,后端解析为科学计数法
发表评论 取消回复