首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设置双精度到6位小数的格式

设置双精度到6位小数的格式
EN

Stack Overflow用户
提问于 2018-11-27 17:07:00
回答 2查看 1K关注 0票数 2

我想格式化一个双精度到6位精度,而不舍入。

格式后的期望值为6位小数

代码语言:javascript
运行
复制
20790123833965.960938

我试过使用十进制格式

代码语言:javascript
运行
复制
   DecimalFormat formatter = new DecimalFormat("#0.000000");
   System.out.println(formatter.format(hashValue) );

我得到了这个

代码语言:javascript
运行
复制
20790123833965.960000
EN

回答 2

Stack Overflow用户

发布于 2018-11-27 17:15:21

正如@Benoit在一条评论中所说的,为了保持数字的完全精度,您需要一个BigDecimal

代码语言:javascript
运行
复制
BigDecimal hashValue = new BigDecimal("20790123833965.960938");
DecimalFormat formatter = new DecimalFormat("#0.000000");
System.out.println(formatter.format(hashValue));

输出:

20790123833965.960938

票数 10
EN

Stack Overflow用户

发布于 2018-11-27 17:29:46

使用这段代码,它将会工作。

代码语言:javascript
运行
复制
public class JavaFormatter {
    public static void main(String args[]) {
        BigDecimal hashValue = new BigDecimal("20790123833965.960938");     
        DecimalFormat formatter = new DecimalFormat("#.######");
        System.out.println(formatter.format(hashValue));
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53496080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档