java 保留小数点后指定位数四种方法

package com.itheima_01;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

public class Demo03 {
    public static void main(String[] args) {
        /*
        保留指定小数点后位数
         */
        double a = 1.0123456789123456789;
        //方法一:最简单的方法,调用DecimalFormat类
        //指定保留小数点后几位
        DecimalFormat df = new DecimalFormat(".0000000000");
        //转换
        String str = df.format(a);
        //String转double
        double v = Double.parseDouble(str);
        System.out.println(v);

        //方法二:直接通过String类的format实现
        String str2 = String.format("%.10f", a);
        double v2 = Double.parseDouble(str2);
        System.out.println(v2);
        //方法三:通过BigDecimal实现
        BigDecimal bd = new BigDecimal(a);
        double v1 = bd.setScale(11, BigDecimal.ROUND_HALF_UP).doubleValue();
        System.out.println(v1);

        //方法四:通过NumberFormat类实现
        NumberFormat nf = NumberFormat.getNumberInstance();
        nf.setMaximumFractionDigits(12);
        String s = nf.format(a);
        double v3 = Double.parseDouble(s);
        System.out.println(v3);

    }
}

Original: https://www.cnblogs.com/exmyth/p/16188869.html
Author: 牧之丨
Title: java 保留小数点后指定位数四种方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/537431/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Spring 容器的启动过程 流程图 自己看源码的梳理 如有错错误 请指正

    Original: https://www.cnblogs.com/pupansheng/p/15666070.htmlAuthor: 蒲蒲的博客Title: Spring 容器的…

    Java 2023年6月5日
    070
  • 今天发布的一个程序一直提示Microsoft.mshtml的强名称验证失败

    软件发布后,在客户的电脑上一再提示缺失该文件或强名称验证失败, 本机的Microsoft.mshtml就两个文件, 拷到客户的机子上,均出同样提示。 后在网络上找个这个dll,该版…

    Java 2023年6月14日
    0104
  • 两个世界

    初次接触编程的时候,我用C++写了一个程序,向控制台输出Hello World。一时之间兴奋不已,觉得好生神奇。于是,编程的世界打开了,再也关不住。现在,让我们也以这样一个Hell…

    Java 2023年6月5日
    060
  • 基于 openssl 及 keytool 创建 ssl 证书并配置到 nginx 和 tomcat

    1、openssl 创建 crt 证书示例 2、nginx 配置 crt 证书示例 3、keytool 创建 keystore 证书示例 如需添加 SAN 信息则 通过 -ext …

    Java 2023年5月30日
    065
  • JAVA不可变List的实现

    有时候方法返回一个列表但是不想调用者改变列表内容。有三种方法可以实现不可变列表,通过调用JDK,Guava以及Apache Commons Collections相关API来实现。…

    Java 2023年5月29日
    064
  • javaeye站点被ARP攻击有感

    javaeye站点被ARP攻击,这本身是一件令人遗憾的事情。但是看到其站长声明的内容,感觉他活该。 看到这个内容: 我对这个国家已经不报任何希望,但是你不要让我对中国的网管人员也不…

    Java 2023年5月29日
    058
  • Windows-电脑清理

    1、清理回收站 2、右键磁盘清理 3、运行 %temp% ,全删 4、win设置清理 win搜索—>存储—>配置存储感知或立即运行打开存储感知、…

    Java 2023年6月9日
    073
  • IO流(其余流的介绍)

    可以读写基本数据类型的数据* 数据输入流:DataInputStream* DataInputStream(InputStream in)* 数据输出流:DataOutputStr…

    Java 2023年6月5日
    055
  • 和身边的人搭伴学

    互为磨刀石 互相挑毛病。前提是双方都非常信任彼此,因为搞软件大多容易沉浸在自己的问题里,又不太善于做高情商的表达。一遇到沟通问题,一句话说不好就会引发误会。 有了信任的伙伴,你就不…

    Java 2023年6月15日
    083
  • 【总结】清除webbrowser cookie/session的6种方法

    下面是我测试下来的6种清除webbrowser中cookie的6种方法: //方法一:调用 wininet.dll清除cookie (推荐) SuppressWininetBeha…

    Java 2023年5月30日
    0153
  • MySQL基础

    1、select语句及其执行顺序 select 要返回的列或者表达式 from 从中检索数据的表仅在从表选择数据时使用 where 行级过滤 group by 分组说明仅在按组计算…

    Java 2023年6月8日
    063
  • 多线程简介

    多线程简介 程序本身是指定和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。 而 进程则是执行程序中的一次执行过程,是一个动态的概念。是系统能够资源分配的单位。 通常在…

    Java 2023年6月9日
    087
  • 登录注册

    经过这段时间的努力,我们对Spring框架已经有了基本认识。是时候按下暂停键,学以致用,写个简单的小项目巩固一下我们至今所学的知识了。 这个小项目名为come-in,是个Web应用…

    Java 2023年6月5日
    070
  • java stream group by 对结果 value 进行二次 map 示例

    var result = societyMemberService.list(new LambdaQueryWrapper() .eq(SocietyMember::getSoci…

    Java 2023年5月29日
    070
  • springboot如何配置mybaits-plus

    1 MyBatis-Plus MyBatis-Plus (opens new window)(简称 MP)是一个MyBatis (opens new window)的增强工具,在 …

    Java 2023年5月30日
    0113
  • 解决云服务器响应慢,网页加载慢的问题

    问题: 本文接上一次博客,云服务发布springboot项目踩过的坑 自从上次,一咬牙买了阿里云的服务器(虽然是白嫖的15天试用期)。 但是有一个问题一直困扰着我,如鲠在喉! 非常…

    Java 2023年6月6日
    068
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球