Java中double类型保留小数点后两位的方法

1.String类的format方法

package com.yushifu.problem;
//java中double保留两位小数的方法
import java.util.Scanner;
public class Demo01 {public static void main(String[] args) {//Practice:键盘输入数据,以保留小数点后两位的格式输出键盘输入的数据。double d = 0.0;//初始化变量d,用于接收输入的数据System.out.println("请输入数字,我们会以保留小数点后两位的格式输出给您!");//使用scanner接收键盘数据Scanner scanner = new Scanner(System.in);if(scanner.hasNextDouble()){d =scanner.nextDouble();}else {System.out.println("请输入浮点数!");}//1.方法一,使用String自带的format方法(会四舍五入)String format_d = String.format("%.2f",d);//将d的格式进行转换,转换后的数值在foramt_d里System.out.println("保留小数点后两位后,数值为:"+format_d);//注意这里输出要用设置好格式的format_d}
}

运行结果:
在这里插入图片描述
在这里插入图片描述
Tips:
在这里插入图片描述

2.使用BigDecimal的setScale方法

package com.yushifu.problem;
import java.math.BigDecimal;
import java.util.Scanner;/*** @author yushifu* @Description BigDecimal类是Java中进行精确计算的必备工具,其通过setScale方法的四舍五入方式,可以满足商业运作中对数字处理的高精度需求。*在实际的开发过程中,我们可以根据自己的需求,选择适当的四舍五入方式,确保数值计算的准确性和稳定性。*/
//java中double保留两位小数的方法
public class Demo02 {public static void main(String[] args) {//Practice:键盘输入数据,以保留小数点后两位的格式输出键盘输入的数据。double d = 3.1415926;//初始化变量d,用于接收输入的数据System.out.println("请输入数字,我们会以保留小数点后两位的格式输出给您!");//使用scanner接收键盘数据Scanner scanner = new Scanner(System.in);if(scanner.hasNextDouble()){d =scanner.nextDouble();}else {System.out.println("请您输入阿拉伯数字!");}//2.方法二,使用BigDecimal的setScale方法BigDecimal bigDecimal_d = new BigDecimal(d);System.out.println("保留小数点后两位后,数值为:"+bigDecimal_d.setScale(2,BigDecimal.ROUND_UP));}
}

在这里插入图片描述
ROUND_HALF_UP四舍五不入问题,可以点击链接参考这篇博客的解决方案。
Tips:

BIgDecimal的setScale四大常用方法总结:

  • (1)ROUND_UP
    不管保留数字后的数字是多少(0除外),ROUND_UP都会进1。
    在这里插入图片描述
  • (2)ROUND_DOWN
    保留设置小数点位数的数字,之后的数全部直接去掉。
    在这里插入图片描述
  • (3)ROUNF_HALF_UP
    四舍五入(>=5),但会出现四舍五不入的情况。
    可以参考这篇博客的解决方案
    在这里插入图片描述
  • (4)ROUND_HALF_DOWN
    五舍六入(>5),但也会出现五入的情况。
    在这里插入图片描述
    在这里插入图片描述

由于会出现类似四舍五不入等问题,idea中已不推荐使用。
在这里插入图片描述

在这里插入图片描述

3.使用Java中的Number&Math类中的Java round()方法

package com.yushifu.problem.decimal_point;
//java中double保留两位小数的方法
import java.util.Scanner;
public class Demo03 {public static void main(String[] args) {//Practice:键盘输入数据,以保留小数点后两位的格式输出键盘输入的数据。double d = 3.1415926;//初始化变量d,用于接收输入的数据System.out.println("请输入数字,我们会以保留小数点后两位的格式输出给您!");//使用scanner接收键盘数据Scanner scanner = new Scanner(System.in);if(scanner.hasNextDouble()){d =scanner.nextDouble();}else {System.out.println("请您输入阿拉伯数字!");}//3.方法三:使用Java中的Number&Math类中的Java round()方法d = (double) Math.round(d*100)/100;System.out.println("保留小数点后两位后,数值为:"+d);}
}

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/134650.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jetpack系列 -- LiveData源码原理解析(解决黏性问题)

一、LiveData是什么? 注意:一般情况下,LiveData要配合ViewModel一起使用的,但是今天是单独使用LiveData,作为学习的话,我们可以只关注LiveData了。 LiveData是一种可观察的数据存储器类。与常规的可观察类…

vvic API接口接入说明:解锁新一代数据可视化的无限可能

随着大数据时代的来临,数据可视化已成为我们理解、分析和呈现复杂数据的重要手段。在这个领域中,vvic以其独特的优势,引领着数据可视化的发展潮流。其强大的API接口,更是为开发者提供了无限可能,让数据可视化变得更为简…

数据库_之常用API的使用

数据库_之电商API MySQL C API 使用(基本函数) Mysql C API函数详解 MySQL的常用API 一个常用的程序调用MySQL数据库的时候通常都会调用以下API,下面来逐个分析. mysql_init() //函数原型 MYSQL *STDCALL mysql_init(MYSQL *mysql);这个API主要是用来分…

嵌入式C 语言中的三块技术难点

​ C 语言在嵌入式学习中是必备的知识,甚至大部分操作系统都要围绕 C 语言进行,而其中有三块技术难点,几乎是公认级别的“难啃的硬骨头”。 今天就来带你将这三块硬骨头细细拆解开来,一定让你看明白了。 0x01 指针 指针是公认…

旋转角度对迭代次数的影响

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点,AB训练集各由5张二值化的图片组成,让A中有3个1,B中全是0,统计迭代次数并排序。 在3*5的空间内分布3个点有19种可能,但不同的分布只有6种 差值就诶够 …

直方图均衡化,画出均衡化后的直方图(数字图像处理大题复习 P2)

文章目录 1. 频率2. 累计直方图3. 取整4. 得到对应关系5. 累加对应关系,得出结果6. 画出均衡化后的直方图 1. 频率 一般题目会给出各个灰度级的概率分布,如果没有给概率,而是给了频率,比如: 在 8x8 的图像中&#xf…

IDEA(2023)解决运行乱码问题

😇作者介绍:一个有梦想、有理想、有目标的,且渴望能够学有所成的追梦人。 🎆学习格言:不读书的人,思想就会停止。——狄德罗 ⛪️个人主页:进入博主主页 🗼专栏系列:无 &#x1f33c…

【Linux网络编程】Socket-UDP实例

这份代码利用下面所有知识编写了一个简易聊天室(基于Linux操作系统)。虽然字数挺多其实并不复杂,这里如果能够看完或许会对你的知识进行一下串联,这篇文章比较杂并且网络编程这块知识需要用到系统编程的知识,希望能帮助…

Java入坑之语法糖

一、for和for-each 1.1for和for-each概念 for 循环是一种常用的循环结构,它可以通过一个变量(通常是 i)来控制循环的次数和范围。for 循环的语法格式如下: for (初始化; 布尔表达式; 更新) {//代码语句 }for-each 循环是 Java …

C语言指针详解(4)———找工作必看指针笔试题汇总

指针对于编程工作的重要性 C语言指针在找工作中具有重要性。以下是几个原因: 1.高效的内存管理:C语言指针可以帮助程序员高效地管理内存,包括动态内存分配和释放,以及数据的访问和操作。这对于开发性能优化的应用程序非常重要&am…

操作系统学习笔记---计算机系统概述

目录 概念 功能和目标 特征 并发 共享(资源共享) 虚拟 异步 发展与分类 手工操作阶段(无OS) 批处理阶段 单道批处理系统 多道批处理系统 分时操作系统 实时操作系统 网络操作系统 分布式计算机系统 个人计算机操…

Ubuntu安装Android Studio

一、Android Studio安装 官方教程:安装 Android Studio | Android Developers 1、下载:Download Android Studio & App Tools - Android Developers,选择linux版本 2、 提取/解压 将下载的安装包提取出来 3、 64位ubuntu系统&#…

Bash脚本学习:AWK, SED

1. AWK AWK 是一种编程语言,设计用于处理文件或数据流中基于文本的数据,或者使用 shell 管道。 可以将 awk 与 shell 脚本结合使用或直接在 shell 提示符下使用。 以上展示使用AWK分别打印第一个位置变量和第二个位置变量。 建立一个文档 csvtest.cs…

无涯教程-JavaScript - MATCH函数

描述 MATCH函数在单元格范围内搜索指定的项目,然后返回该项目在该范围内的相对位置。 当您需要某个项目在范围中的位置而不是项目本身时,请使用MATCH而不是LOOKUP函数之一。如。您可以使用MATCH函数为INDEX函数的row_num参数提供一个值。 语法 MATCH (lookup_value, lookup…

【数据结构】红黑树的删除(抽丝剥茧,带你理清每一种情况)

文章目录 前言正文1.所删除的结点为红色1.1delnode的左右都为空1.2delnode的左为空,且右不为空1.3delnode的左不为空,右为空1.4delnode的左不为空,且右不为空 2.所删除的结点为黑色2.1 调整后所在树每条路径黑色结点的个数不发生变化2.1 左结…

【问题处理】GIT合并解决冲突后,导致其他人代码遗失的排查

GIT合并解决冲突后,导致其他人代码遗失的排查 项目场景问题描述分析与处理:1. 警告分析2. 文件分析3. 问题关键4. 验证 解决策略总结 📕作者简介:战斧,从事金融IT行业,有着多年一线开发、架构经验&#xff…

ChatGPT追祖寻宗:GPT-2论文要点解读

论文地址:Language Models are Unsupervised Multitask Learners 上篇:GPT-1论文要点解读 在上篇:GPT-1论文要点解读中我们介绍了GPT1论文中的相关要点内容,其实自GPT模型诞生以来,其核心模型架构基本没有太大的改变&a…

华为云云服务器云耀L实例评测 | 在华为云耀L实例上搭建电商店铺管理系统:一次场景体验

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

java写一个用于生成雪花id的工具类

我们创建一个类 叫 SnowflakeIdGenerator 作为生成雪花id的工具类 然后 编写代码如下 public class SnowflakeIdGenerator {private static final long START_TIMESTAMP 1609459200000L; // 设置起始时间戳,可以根据需要进行调整private static final long WORKER…

HBase 记录

HBase 管理命令 hbase hbck -details TABLE_NAME hbase hbck -repair TABLE_NAMEHBase概览 Master、RegionServer作用 RegionServer与Region关系 数据定位原理 https://blogs.apache.org/hbase/entry/hbase_who_needs_a_master RegionServer HBase Essentials.pdf (P25)…