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)

大家都在看

  • Dubbo系列之服务暴露过程

    这周去苏州见大佬,没想到遇到一堆女粉丝,其中居然还有澡堂子堂妹,堂妹一遇到我就说敖丙哥哥我超级喜欢你写的dubbo系列,你能跟我好好讲一下他的服务暴露过程么? 我笑了笑:傻瓜,你想…

    Java 2023年6月9日
    088
  • winform子线程修改界面控件的值

    示例代码 //代理:是应用程序向OS申请执行的一个函数;这里只给出了函数的"形" delegate void delSetText(TextBox txt, s…

    Java 2023年5月30日
    076
  • 【Nginx配置】proxy_pass后有”/”和无”/”探讨(整理一下)

    https://blog.51cto.com/u_15288542/3030945 Original: https://www.cnblogs.com/kaibindirver/p…

    Java 2023年5月30日
    0103
  • 服务引用(消费者)

    前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 上一篇文章,讲了Dubbo的服务导出: Dubbo源码(三) –…

    Java 2023年6月16日
    086
  • 1、编译系统

    1 编译系统 1.1 引入编译系统 1.2 编译系统的组成 1.2.1 预处理器 1.2.2 编译器 1.2.3 汇编器 1.2.4 链接器 2 GCC 3 编译过程演示 3.1 …

    Java 2023年6月7日
    076
  • springbbot 启动流程

    3.9 refreshContext(context); 刷新context 开始执行spring的那一套refresh 但是它稍微重写了context的一些方法 3.9.1 重写…

    Java 2023年6月5日
    091
  • JVM的类加载过程

    如果可以,请让我们慢慢了解,慢慢喜欢。 The frog in the well knows nothing of the great ocean. 井底之蛙,不知大海。 JVM …

    Java 2023年6月9日
    086
  • Springboot之 Mybatis 多数据源实现

    简介 上篇讲解了 JPA 多数据源实现;这篇讲解一下 Mybatis 多数据源实现 。主要采用将不同数据库的 Mapper 接口分别存放到不同的 package,Spring 去扫…

    Java 2023年6月7日
    067
  • vue实现录音功能js-audio-recorder带波浪图

    实现效果:可得到三种录音数据, pcm,wav,mp3 等 官方api入口: 点我 (网不好的童鞋可以看最下面的 api 截图) 官方案例入口: 点我 cnpm i js-audi…

    Java 2023年6月8日
    0107
  • Nginx反向代理的几种配置模板

    因为内网服务越来越多,各种IP加端口地址根本记不住,于是用Nginx做反响代理,也可以很好管理内网的地址分发。 下面提供几种Nginx配置模板。因为也是自己摸索着配置的,有错误的地…

    Java 2023年5月30日
    084
  • 浏览器获取京东cookie

    电脑浏览器打开京东网址 https://m.jd.com/ 按键盘F12键打开开发者工具,然后点下图中的图标 此时是未登录状态(使用手机短信验证码登录),如已登录请忽略此步骤 使用…

    Java 2023年6月9日
    0161
  • Java核心技术-反射、接口

    使用反射编写泛型数组 package cn.gyk; import java.lang.reflect.Array; /** * @author xg * @version V1….

    Java 2023年6月5日
    086
  • [新手专用]Oracle Database Express 创建表空间的方法

    简介: Oracle 10g Express Edition (XE) 集成了 Oracle HTML DB 2.1 ,便于开发基于 Web 的应用. 当然,这个免费是肯定有功能限…

    Java 2023年5月29日
    084
  • Spring Cloud Gateway 整合 nacos

    pom.xml

    Java 2023年5月30日
    074
  • pycharm可以运行但无法debug的解决方法

    错误信息:pydev debugger: process 4588 is connecting 如果您尝试了网上的很多方法如防火墙设置,去掉 “.idea”…

    Java 2023年6月9日
    082
  • Java正则表达式——matcher.find()的匹配原理

    在Java正则中,matcher.find()通过获取目的子字符串的第一元素和最后一个元素的索引来确定目的字符串,大致方法就是将获取的索引存入在类中定义好的属性groups[]中,…

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