java中怎么保留小数_java怎么保留小数
在java的学习中,往往算法有一个是属于java的小数点位数保留。一般有四种方式。
java中保留小数示例:/**
* 1.BigDecimal常用于金额的计算,
* 超过16位使用
*/
public void m1() {
BigDecimal bg = new BigDecimal(f);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
/**
* 2.DecimalFormat转换最简便
* 用于格式化十进制数字
* 常用
*/
public void m2() {
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));
}
/**
* 3.String.format打印最简便
* 常用
*/
public void m3() {
System.out.println(String.format("%.2f", f));
}
/**
* 4.NumberFormat
* 是所有数值格式的抽象基类。
*/
public void m4() {
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}
public static void main(String[] args) {
java_01 f = new java_01();
f.m1();
f.m2();
f.m3();
f.m4();
}输出结果:自动四舍五入:
123456.79
123456.79
123456.79
123,456.79
java保留小数的四种方法介绍:
1、BigDecimal
常用于金额的计算,超过16位使用
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。
虽然双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。
BigDecimal所创建的是对象,但是不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。
2、DecimalFormat
它是 NumberFormat 的一个具体子类,用于格式化十进制数字。可以帮你用最快的速度将数字格式化为你需要的样子。
3、String.format
打印最简便。
String.format 作为字符串格式化,简单调用 String.format(“Hello %s”, “John”);
String.format返回的是String类型的字符串。
4、NumberFormat
NumberFormat 是所有数值格式的抽象基类。 该类提供了格式化和分析数值的接口。
以上四种方式,常用的是2,3。
更多java知识请关注java基础教程。
java中怎么保留小数_java怎么保留小数相关推荐
- java 保留一位小数_java如何保留一位小数
2016-09-01 00:57齐晓强 客户经理 JAVA中如何对double或者float的浮点数进行精度计算, 在JAVA中提供了多种参数来实现精度的不同控制方式. 具体例子如下: package ...
- java中无法推断类型参数_Java 10中的本地类型推断,或者如果它像鸭子一样嘎嘎叫...
java中无法推断类型参数 最近,Oracle采用了一种新策略,即每六个月发布一次新的语言版本. 该策略假定只有每个第3版都将提供长期支持或LTS. 快速说明: 具有LTS的当前版本是Java 8: ...
- java中接口私有反方_Java 8:在接口中声明私有和受保护的方法
java中接口私有反方 引入Java 8时,我们可以在接口中使用默认方法. 此功能的主要驱动程序是允许接口扩展,同时保留对旧接口版本的向后兼容性. 一个示例是在现有Collection类中引入stre ...
- java中缓冲区和缓存_Java中的Google协议缓冲区
java中缓冲区和缓存 总览 协议缓冲区是一种用于结构化数据的开源编码机制. 它是由Google开发的,旨在实现语言/平台中立且可扩展. 在本文中,我的目的是介绍Java平台上下文中协议缓冲区的基本用 ...
- java中的mod运算_Java源码中Integer类位运算分析
在这里对源码中Integer的部分位运算方法做一个分析解读.同理,可以比较一下其他Number的子类,对位运算部分的设计和性能有一个理解. 在java中,Integer是int类型的包装类型,占4个字 ...
- java中调用数组参数_java中如何调用带有数组类型参数的存储过程
java中如何调用带有数组类型参数的存储过程 关注:95 答案:3 mip版 解决时间 2021-01-28 00:39 提问者万丈深渊 2021-01-27 14:00 不知道java中java ...
- java中的垃圾收集器_Java中的垃圾收集
java中的垃圾收集器 Garbage collection in java is one of the advance topic. Java GC knowledge helps us in fi ...
- java中是什么意思_java中什么意思?
java中>>什么意思? 在java中,>>是一个"有符号"右移位运算符:它会将运算符左边的运算对象向右移动运算符右侧指定的位数.>>运算符使用 ...
- java中break什么意思_Java中break的第三种用法说明
在Java中,break语句有三种用法,第一种是用于终止switch语句中的语句序列,第二种是用于退出循环,然而第三种是用作goto语句的"文明"形式! 我们知道,goto语句会破 ...
- java中集合怎么定义_Java集合系列(一):集合的定义及分类
1. 集合的定义 什么是集合呢? 定义:集合是一个存放对象的引用的容器. 在Java中,集合位于java.util包下. 2. 集合和数组的区别(面试常问) 提到容器,就会想起数组,那么集合和数组的区 ...
最新文章
- 对于技术 方法 生活等问题的思考
- Oralce 目录结构
- 选择排序和Java实现、C++ vector 模板类实现
- angr学习笔记(10)(hook)
- 云服务器端口对外开放详解
- VTK:图片之ImageOpenClose3D
- linux中怎样建立批量用户,Linux 大批量建立用户
- c 富文本html编辑器,富文本HTML编辑器UEditor
- SQL Server如何链接到 Oracle并查询其中的数据?并实现做接口
- matlab2c使用c++实现matlab函数系列教程-find函数
- 局域网中的通信协议及选择简述。
- [Windows] 【直播放映馆V9.0】Bilibili,斗鱼,虎牙,企鹅电竞,音乐电台,无广告看电影直播!...
- 宏碁台式计算机u盘启动,Acer宏碁台式电脑怎么通过bios设置u盘启动
- map 转换成vo_JAVAMap转换为Bean或VO
- html纵向广告滚动,jquery广告滚动 jquery 实现文字左右滚动
- #01 Linear Regression Excise
- 关于 js 闭包的理解
- 本地无需安装数据库,实现plsql远程连接数据库
- Java实现蓝桥杯勇者斗恶龙
- js实现天降字母打字小游戏
热门文章
- python做情感分析【中、英文都有】
- wmctf2022 两题PvsZ
- nuc8i7beh黑苹果_Intel NUC8i7BEH 黑苹果Hackintosh EFI引导
- CSS超链接标记大全
- html生日快乐源代码
- 《2021年IT行业项目管理调查报告》发布
- Qt QString转QDateTime fromString() QDateTime显示invalid 计算两个日期时间差
- 迷宫小游戏c语言代码,C语言编写的迷宫小游戏-源代码
- linux cat 压缩文件,Linux cat和zcat命令可能比你意识到的更有用
- 硬盘有摩擦声音_有摩擦的建筑物