参考:DecimalFormat用法 - 轻剑 - 博客园

目录

1.通过String类中的format方法将数字通过保留一定位数的小数进行转换,返回的是字符串。

2.通过Decimalormat类对其进行位数控制

3.通过BigDecimal类进行进制转化


1.通过String类中的format方法将数字通过保留一定位数的小数进行转换,返回的是字符串。

例如下面的求圆的面积问题

package _5_2;
import java.lang.Math;
import java.util.Scanner;public class AreaOfCircle {public static void main(String[] args) {final double PI=(double) (Math.atan(1.0)*4);  //PI的定义方式,不用3.14是为了提高精度Scanner sc=new Scanner(System.in);double r=sc.nextDouble();double area=PI*r*r;    //面积求解String sa=String.format("%.7f", area);System.out.println(sa);}
}

输入:4
输出:50.2654825

2.通过Decimalormat类对其进行位数控制

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。帮你用最快的速度将数字格式化为你需要的样子。

DecimalFormat 包含一个模式 和一组符号

DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。上面的例子包含了差不多所有的基本用法,如果你想了解更多,请参考 DecimalFormat 类的文档。

符号含义: 

0 一个数字

# 一个数字,不包括 0

. 小数的分隔符的占位符

, 分组分隔符的占位符

; 分隔格式。

- 缺省负数前缀。

% 乘以 100 和作为百分比显示

? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用 国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代 替十进制分隔符。

X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。

例子:

DecimalFormat df1 = new DecimalFormat("0.0"); DecimalFormat df2 = new DecimalFormat("#.#"); DecimalFormat df3 = new DecimalFormat("000.000"); DecimalFormat df4 = new DecimalFormat("###.###"); System.out.println(df1.format(12.34)); //12.3System.out.println(df2.format(12.34)); //12.3System.out.println(df3.format(12.34)); //012.340System.out.println(df4.format(12.34)); //12.34
import java.text.DecimalFormat;public class Test{public static void main(String[] args){double pi=3.1415927;//圆周率//取一位整数 System.out.println(new DecimalFormat("0").format(pi));//3//取一位整数和两位小数  System.out.println(new DecimalFormat("0.00").format(pi));//3.14//取两位整数和三位小数,整数不足部分以0填补。  System.out.println(new DecimalFormat("00.000").format(pi));//03.142  //取所有整数部分  System.out.println(new DecimalFormat("#").format(pi));//3  //以百分比方式计数,并取两位小数  System.out.println(new DecimalFormat("#.##%").format(pi));//314.16%  long c=299792458;//光速  //显示为科学计数法,并取五位小数  System.out.println(new DecimalFormat("#.#####E0").format(c));//2.99792E8  //显示为两位整数的科学计数法,并取四位小数  System.out.println(new DecimalFormat("00.####E0").format(c));//29.9792E7  //每三位以逗号进行分隔。  System.out.println(new DecimalFormat(",###").format(c));//299,792,458  //将格式嵌入文本  System.out.println(new DecimalFormat("光速大小为每秒,###米").format(c)); //光速大小为每秒299,792,458米}
}

3.通过BigDecimal类进行进制转化

此类在金融场景运用较多,是对对象进行操作,要求的精度较高,使用度较低,如需参考,可通过下方链接进行具体了解或者查看官方API文档进行相关操作查询,本文不进行过多介绍

DecimalFormat用法_改变ing的博客-CSDN博客_decimalformat

java小数位数保留相关推荐

  1. C# 小数位数保留的方法集锦

    1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo(); prov ...

  2. java小数点后保留7位_Java中如何保留小数点后两位

    java中四舍五入后并保留两位小数的方法(以double为例) String.format打印 数字格式化说明的格式: %[argument number][flags][width][.precis ...

  3. msyql的FORMAT()函数设置小数位数,将小数位数保留到小数点后第n位,最后一位四舍五入

    FORMAT()函数   在mysql的查询中,如果我们输入的是小数类型,而保留几位小数因情况而变,我们可以用FORMAT()函数来设置想保留的几位小数.即将数据内容格式化,将数据格式化为整数或者带几 ...

  4. java.math.BigDecimal保留两位小数,保留小数,精确位数

    http://blog.csdn.net/yuhua3272004/article/details/3075436 使用java.math.BigDecimal工具类实现   java保留两位小数问题 ...

  5. java 乘法保留两位小数_java.math.BigDecimal保留两位小数,保留小数,精确位数

    java保留两位小数问题: 方式一(四舍五入形式保留两位小数,注意模式ROUND_HALF_UP): 四舍五入 double   f   =   111231.5585; BigDecimal   b ...

  6. Java int类型的除法 向上取整 向下取整 保留小数位数

    今天做了一道计算题,用到整数相除的向上取整,突然卡住了.然后查询并试用了如下方法. 一.三目运算法(向上 / 向下取整 快捷.准确) 两个int型 a.b,a / b 向上取整.可以使用 a / b ...

  7. 用java编写保留两位小数_Java保留两位小数的几种写法总结

    摘要:这篇Java开发技术栏目下的"Java保留两位小数的几种写法总结",介绍的技术点是"Java保留两位小数.保留两位小数.两位小数.Java.小数.总结", ...

  8. java工作笔记018---java中BigDecimal小数位数的四舍五入等操作

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 这个电视购物项目大量用到了BigDecimal,有钱内存大,哈哈 一.简介 Java在java.m ...

  9. AndroidJava保留小数位数的几种写法

    1. 使用java.math.BigDecimal 2. 使用java.text.DecimalFormat 3. 使用java.text.NumberFormat 4. 使用java.util.Fo ...

  10. java精确小数位数的几种方法

    java中精确小数位数的几种方法 /* * 这里假设精确到小数点后5位 */ public class AccurateDecimalPart { public static void main(St ...

最新文章

  1. 2021年大数据常用语言Scala(三十六):scala高级用法 泛型
  2. java build path entries 为空_同事的代码简直没法看,我来教你如何更优雅的设计Java异常...
  3. 用「我的世界」自动生成「现实世界」:英伟达展示AI脑补新技术
  4. SAP云平台上应用的HTTPS证书
  5. python json转csv_python – 如何将JSON转换为CSV?
  6. Active Diretory 全攻略(六)--文件夹权限与共享(2)
  7. 【Maven】win10系统安装Maven
  8. python 保存dataframe_在python2中将dataframe保存到CSV
  9. Windows Phone SDK 7.1 简体中文版离线安装包地址
  10. Makedown文件保存问题
  11. 第一周golang学习:--基本数据类型与string字符串类型之间的转换
  12. win7安装IIS常见问题汇总
  13. Linux makefile 教程 非常详细,且易懂
  14. 计算机等级考试报名班级填什么,全国计算机等级考试报名流程
  15. SSL证书错误怎么办?浏览器常见SSL证书报错解决办法
  16. von-ui组件库文档
  17. 数量遗传学 第二章 群体的遗传组成
  18. mw320r虚拟服务器,水星MW320R路由器桥接设置教程-水星路由器设置
  19. 使用logisim设计简易CPU
  20. jpa mysql_Spring boot通过JPA访问MySQL数据库

热门文章

  1. day03 python基础
  2. 关于Negative values in data passed to MultinomialNB (input X)报错问题
  3. 人类首次捕获到反物质 500克能量可超过氢弹
  4. 系统测试总结报告模板
  5. HDU4730 We Love MOE Girls
  6. C++判断输入内容是否为整数
  7. 【目标检测】(13) 先验框解码,调整预测框,附TensorFlow完整代码
  8. TechParty Mini+4 logging
  9. 投资理财之基金篇(一) - 认识基金
  10. iOS中调用短信和邮箱的方法