Java中Double类型出现科学计数法问题解决方法

避免 Java double 科学计数法 本文探讨了Java中如何避免double数值自动转换为科学计数法(E)的问题。首先分析了科学计数法出现的原因(数值过大或过小),然后介绍了四种解决方案:1)使用NumberFormat关闭分组并设定小数位;2)DecimalFormat自定义格式;3)BigDecimal精准转换;4)String.format/printf简洁格式化。文章对比了各方案的优缺点,建议根据场景选择:常规展示用String.format,批量处理用NumberFormat,金融计算用BigDecimal,并提醒注意线程安全、Lo 阅读详情

问题

使用java对象接收前端参数的时候,转为字符串发送给第三方系统的时候出现数值不正确

代码

public static void main(String[] args) {
        Double dd = new Double(123456789d);
        System.out.println(dd);
    }

在这里插入图片描述

解决方法

 public static void main(String[] args) {
        Double dd = new Double(123456789d);
        BigDecimal bd = new BigDecimal(dd + "");
        System.out.println(bd.toPlainString());
    }

在这里插入图片描述

【Java】float,double大数据不要科学计数方法显示 科学计数法:如2E8, 2乘以10的8次方。浮点数(float,double)整数部分达到8位及以上,会以科学计数法显示。整数(int,long)不会显示成科学计数法。 阅读详情

相关推荐

防止Double加double后形成科学计数法问题

防止Double加double后形成科学计数法问题

日常踩坑:Java中double类型出现科学计数法问题

日常踩坑:Java中double类型出现科学计数法问题

郭大侠的技术空间 7967

使用Dify打造视频生成工作流:从提示词到视频的完整指南

Dify作为开源LLM应用开发平台,通过可视化工作流编排实现从文本到视频的端到端生成,将创意周期从天级缩短至分钟级。核心流程包括提示词工程、视频API调用、存储分发和结果反馈。

牛奶夹心巧克力 3429

Java Double类型出现科学计数法问题解决

问题描述: Double num1=0.0004; 问题分析: 1、当数据足够小或者足够大时,Double会将数据自动变成科学计数法。 解决办法: 将Double类型先变成String类型,再将String类型变为BigDecimal即可。 Double num1 = 0.0004; String strNum = NumberUtil.toStr(new BigDecimal(num1.toString()));//0.0004 注:NumberUtil需要引入Hutool依赖才可.

旭东怪的博客 1万+

ESP32IDF 通过 PCA9685控制舵机的程序bug处理

esp32 PCA9685 bug 舵机

ztvzbj的博客 725

AD9176 双通道高速DAC调试记录

AD9176是一款高性能双通道16位数模转换器,支持高达12.6GSPS采样率,专为多频段无线应用设计。该器件集成8通道15.4Gbps JESD204B接口,支持复数/实数数据输入,每通道最大输入速率达3.08GSPS。关键特性包括:48位高精度NCO、灵活的插值滤波器(最高12倍)、优异的动态性能(SFDR达-83dBc@1.84GHz)以及多芯片同步功能。硬件调试需重点关注时钟配置(建议250M基准时钟)、JESD参数匹配及交流耦合设计。测试指标要求SFDR>55dBc@312MHz,实测值可达65d

universaldata的博客 1489

java 使用double计算数值过大时,出现科学计数E符号解决方法

【代码】java 使用double计算数值过大时,出现科学计数E符号解决方法。

weixin_42543201的博客 6225

深入了解torch框架

大国的游戏,政府支持到位,是未来;AI : Artificial Intelligence,旨在研究、开发能够模拟、延伸和扩展人类智能的理论、方法、技术及应用系统,是一种拥有自主学习和推理能力的技术。它模仿人类大脑某些功能,包括感知、学习、理解、决策和问题解决。AI本质​ NLP(说话,听)、CV(眼睛)、自动驾驶、机器人(肢体动作)、大模型三要素:数据、网络、算力① 神经网络:找到合适的数学公式;② 训练:用已有数据训练网络,目标是求最优解;③ 推理:用模型预测新样本;PyTorch,简称Torch

qq_74732076的博客 1135

Java中Double类型科学计数法总结

一、场景描述 Java语言中的Double类型,在使用过程中会出现大数据自动转换成科学计数法表示的现象,例如:零钱宝在调用转账时,取数据库中的转账金额(单位:分), Java的实体类使用的是Double类型,从数据库取出来后直接就变成了Double类型,因为金额是以分为单位,所以需要去除小数点后面的数值,如果金额大于等于10万元时, 就会出现Double类型自动转换成科学记数法表示的现象,如果此时...

qq_31108621的博客 8965

stm32入门 点亮TFTLCD(NT35510驱动)

正点原子stm32f407探索者开发板屏幕使用正点原子4.3寸TFTLCDstm32f407开发使用标准库本文参考正点原子例程和NT35510的data sheet,尽量使用最少的代码点亮屏幕。

tangliang_cn的博客 1981

公文派2025:免费社区版重大安装更新!

距离上一次更新已经过去了将近一年的时间,今天我们带来了全新的免费2025社区版,该版本也是目前最新的版本,无需授权即可使用所有的功能。

似最初 1959

解决java中/jsp页面中 Double类型数据完全显示、不再以科学技术法显示

一、针对java程序中,把Double类型的数据完全显示、不再以科学技术法显示。 此问题用到对象: DecimalFormat  DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)

oahnait的专栏 3117

基于51单片机的电压表【0-20V,ADC0832,4051,自动量程】(仿真)

自动换挡式数字电压表就是一个基于单片机的能自动切换量程的数字电压表,其作用是在使用低位的AD转换实现高精度电压测量,可以测量0~20V的电压,并且具有0~0.2V(待测电玉低于0.2V时),0~2V(待测电压低于2V时)和0~20V三个量程自动匹配测量,当待测电压值发生变化时,电压表可以根据输入电压情况自动选择合适的量程进行测量,并且把测量结果显示出来。(2)实现电压表精度测试,最高精度要求0.01V;(1)实现0~20V分3档式电压表;

qq_63964231的博客 1497

注意Mysql读取值很大的Double类型数据时会采用科学计数法

休息了好久,今天终于开工了。一个同事年前写的一段代码,今天测试的时候出了点问题,便找到我,我看了看他的代码,大概知道了原因。他要做的功能是采取POI导出数据为Excle,而且年前测试也没发现什么问题,但是由于某些原因,需要我导部分测试数据给他,所以测试出现问题便找到了我。 说来也挺有意思,导给他的数据是今儿现造的,其中涉及的金额一项,我都设置的特别大,都是几亿几亿的造,导致他导出来的表格金额...

weixin_39309402的博客 4217

79-Halcon-- visualize_object_model_3d 函数功能(交互式3D可视化)

该算子是连接3D数据与决策者的关键可视化桥梁,通过其独特的交互能力和高质量的渲染效果,将复杂的3D信息转化为直观的可视内容,大幅提升工程决策效率和质量。操作符,不仅能在窗口中渲染3D对象,还支持多种交互操作,适用于调试、展示和交互分析场景。本解析将全面探讨其参数功能及工业级应用方案。+几何类型: PointCloud/ TriMesh/CAD。+法线属性: [NX,NY,NZ]+附加数据: Attributes。是Halcon中功能强大的。+顶点属性: [X,Y,Z]+颜色属性: [R,G,B]

weixin_45590420的博客 1205

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【工作随笔:二】记一下Java开发中使用Double类型踩的坑和相应的解决办法

文章目录概要丢失精度科学技术法 概要 运算丢失精度 大数据转字符串会变成科学计数法 丢失精度 (留坑待填) 科学技术法 System.out.println(Double.toString(111111d)); System.out.println(Double.toString(1111111d)); System.out.println(Double.toString(11111111d)); System.out.println(Do

weixin_44049867的博客 607

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java.lang.Double转成String

在实际的项目项目中,有时候需要把java.lang.Double类型转换成String类型,但是这是不能直接进行转换的 之前在项目中,在Map集合里取值的时候,因为所取的数字是科学计数法,所以在取出后自动变成Double类型, 但是在转换成String类型的时候一直报错:之前用的方法都是使用String.ValueOf(),但是这个不行, 最后的解决办法是先把Double类型转成double类型,在

Tim950709的博客 5359

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Java double类型转成String,去除末尾的“.0”

1 背景 1.double直接转string,例如sout(double)或者String.valueOf(double),假设是整数,会自动在后面添加“.0”,我们不需要这个添加; 2.不要用科学计数法显示 2 正确示例 (左double 右String) 1 -> 1 1.0->1 1.1->1.1 100->100 3 代码 privat...

java开发学习积累 1万+

(java)防止数字被转换成科学计数法解决方法

问题描述: 我们在将long类型或者double类型进行算术运算的时候可能被转换成科学技术法的形式 举个栗子: 303387E7 1.932626E7 BigDecimal db1 = new BigDecimal(一串超长数字/1000000); invest_count = db1.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString(); 解决方案: 完美解决,记录一下。 ...

superman 3746

NumberFormat、BigDecimal 不使用科学计数法

/** * 科学计数法 */ public static void scientificNotation() { NumberFormat nf = NumberFormat.getInstance(); nf.setGroupingUsed(false);// 不用科学计数 Double num = 800000...

zhouxzcsdn的博客 1万+

Java中double转String

Java中double转String

weixin_42164754的博客 808

java excel poi导出时长数字变成科学计数法的解决方法

在导出excel文件的时候,有时候长的double数字就被变成科学计数法了,网上各种说法,要求设置HSSFCellStyle的format,试过之后也不能解决,后来发现问题的关键并不在这里。 原因是在cell.setCellValue(value.toString())的时候,value.toString()的方法的问题,也就是Double对象的toString()方法造成的,换成String...

hotthought的专栏 4213

java---double转int的问题

不进行四舍五入操作: (int)x 进行四舍五入操作: Integer.parseInt(new java.text.DecimalFormat("0").format(x))

每一次对问题的深究,总会收获新的知识和体会 1万+

科学计数法转换类

科学计数法这种gui东西极其丑陋。要是不用心思去处理这个数据的问题。那结果是让人抓狂的。 应该有个工具类来转一下了。这TMD JAVA咋就没出个工具包来转呢。天天为了这些低级的东西折腾来折腾去。 import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF...

神龙架游记(javaee) 191

java double 不准确_用Java语言处理double类型的小数值不准确

本文主要向大家介绍了用Java语言处理double类型的小数值不准确,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。首先是从Excel里面读数据的时候,Excel里面的数据是数字,太大,其实也不是数字,就是个银行卡号,复制进去,就自动成数字啦,然后就变成科学计数法啦,在使用poi读取数据的时候,读出来的就是科学计数法的数字,tostring之后,就不是我们想要的数据啦,这是一种情况...

weixin_39792049的博客 624

java问题收集

1.double类型 在操作double类型时,如果double大于10位,则double会自动使用科学计数法进行操作。 在进行double计算时,会出现很多位小数点。这是由于2进制和16进制转换的时候的偏度差造成的。 针对以上问题,推荐使用java.math.BigDecimal。 BigDecimal b1 = new BigDecimal(Double.toString(v1));...

danwind的专栏 158
上一篇: springboot Java错误:找不到或无法加载主类
下一篇: IDEA commit 代码速度慢
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值