社区
Java SE
帖子详情
如何还原double科学计数法后的值
scott
2010-02-26 03:31:35
double s = 1234567890123456.1d
System.out.println("ss="+s); //打印出来的值为ss=1.234567890123456E15
我想打印出来的值为1234567890123456.1,请问double进入科学计数法后怎么得到原来输入的值?
...全文
543
2
打赏
收藏
如何还原double科学计数法后的值
double s = 1234567890123456.1d System.out.println("ss="+s); //打印出来的值为ss=1.234567890123456E15 我想打印出来的值为1234567890123456.1,请问double进入科学计数法后怎么得到原来输入的值?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bayougeng
2010-02-26
打赏
举报
回复
public PrintStream printf(String format,
Object... args)使用指定格式字符串和参数将格式化的字符串写入此输出流的便捷方法。
调用此方法的 out.printf(format, args) 形式,行为与以下调用完全相同:
out.format(format, args)
参数:
format - 在格式字符串的语法中描述的格式字符串
args - 格式字符串中的格式说明符引用的参数。如果参数多于格式说明符,则忽略额外的参数。参数的数量是可变的,并且可以为零。参数的最大数量受到 Java Virtual Machine Specification 定义的 Java 数组的最大维数的限制。针对 null 参数的行为依赖于 conversion。
返回:
此输出流
抛出:
IllegalFormatException - 如果格式字符串包含非法语法、与给定参数不兼容的格式说明符、对给定格式字符串而言不够充足的参数或其他非法条件。有关所有可能的格式错误的规范,请参阅 formatter 类规范的详细信息部分。
NullPointerException - 如果 format 为 null
从以下版本开始:
1.5
就是这个了,System.out.printf。
bayougeng
2010-02-26
打赏
举报
回复
好像现在的jdk支持格式表达式了,类似c语言的printf("%d,%f",1,1.002)。
但我没用过。
将
double
科学计数法
改成正常的小数
1:先将
double
转化在转成BigDecimal
double
d = 1234567890.1234567890; NumberFormat data = NumberFormat.getCurrencyInstance(); //保留两位小数 data.setMaximumFractionDigits(2); // 如果不...
科学计数法
显示的
Double
还原
为想要的
Double
将
科学计数法
显示的
Double
还原
为想要地数据:
Double
d = 1.314520592E10;//原数据为13145205920
Double
d1 = 1.3145205920811E10;//原数据为13145205920.811NumberFormat nf = NumberFormat.getInstance();nf.setGroupingUse...
Java 中
double
转 String 的大坑:为什么 0.0001 数
值
转换入库后变成了 1.0E-4?
科学计数法
如何完美避免?
本文探讨了处理小数
值
double
类型数据时遇到的
科学计数法
、精度以及末尾多余零的处理问题。
将一个大数转为
科学计数法
并保留两位小数打印
实现:将一个大数转为
科学计数法
并保留两位小数打印 BigInteger scienceNum = new BigInteger("12345678901234567890"); System.out.printf("%.2e",scienceNum.
double
Value()); /** 打印结果: 1.23e+19 */ 这里借用到了printf这个方法,参考JKD源码util包下的Forma...
【浮点数存储】
double
类型注意点
之前一直有一个误区:之前一直听说
double
类型精度是十几位,所以一直认为只有像一个很长有效位数的浮点数如123.456789147258369159357这种数字
double
存储时取前面十几位保存,现在看来完全是自己一窍不通,像0.1这个数字
double
型就不能够精确表示,任何一个浮点数无论是0.1还是123.456789147258369159357通过那个IEEE754的转化最终能够保证存储下来的数保证15-17位有效数字准确。理论规则
double
仅能精确表示形如n/(2^k)
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章