Java基础之数字处理工具 大数运算 小数运算 取小数位

JAVA案例 第二篇:针对大数值取整数和小数、保留几位小数、特定位数的数值、自幂数 简介: 在前面的章节中,我们自定了一个判断大数值是否为整数的方法,今天我们针对这个方法进行展开论述。 我们可以想象一下:既然能够判断一个数值是否为整数,那么就应该有机会将它的整数部分和小数部分分割开来,也就是我们常说的取整(它同时包含了取小数),在我们初学JAVA时,我们常用的方法是强制转换,或者利用BigDecimal.ROUND语句来进行保留0位小数。今天我们用另一个方法来处理,实现取整(取小数)、特定位数的数值、保留几位小数、以及所有自幂数的输出。这个方法是不涉及精度处理的,也没有强制意味。 一 阅读详情

数字处理工具类

BigInteger:可以让超过Integer范围内的数据进行运算。

构造方法:public BigInteger(String val)
常用方法:
public BigInteger add(BigInteger val)
public BigInteger subtract(BigInteger val)
public BigInteger multiply(BigInteger val)
public BigInteger divide(BigInteger val)
public BigInteger[] divideAndRemainder(BigInteger val)

BigDecimal:由于在运算的时候,float类型和double很容易丢失精度,为了能精确的表示、计算浮点数,Java提供了BigDecimal,不可变的、任意精度的有符号十进制数。
构造方法:public BigDecimal(String val)
常用方法:
public BigDecimal add(BigDecimal augend)
public BigDecimal subtract(BigDecimal subtrahend)
public BigDecimal multiply(BigDecimal multiplicand)
public BigDecimal divide(BigDecimal divisor)
除小数时 可能有除不尽的情况 请上网查阅相关方法 处理相关问题

在这里插入图片描述

取小数位 DecimalFormat:Java 提供 DecimalFormat类,帮你用最快的速度将数字格式化为你需要的样子。

例如,取2位小数。

示例:
double pi=3.1415927; //圆周率
//取一位整数,结果:3
System.out.println(new DecimalFormat(“0”).format(pi));
//取一位整数和两位小数,结果3.14
System.out.println(new DecimalFormat(“0.00”).format(pi)); 
//取两位整数和三位小数,整数不足部分以0填补,结果:03.142
System.out.println(new DecimalFormat(“00.000”).format(pi));
//取所有整数部分,结果:3
System.out.println(new DecimalFormat("#").format(pi));
//以百分比方式计数,并取两位小数,结果:314.16%
System.out.println(new DecimalFormat("#.##%").format(pi));
在这里插入图片描述

【学习系列】SAP RAP 16:RAP应用部署集成至Fiori Launchpad 【On-Premise】 本文详细介绍了如何将开发完成的RAP应用部署到S4HANA 2023 On-Premise环境并集成到Fiori Launchpad的完整流程。主要内容包括:1)通过ADT工具创建Fiori项目并配置外部IDE(VSCode);2)使用npm命令部署应用到系统;3)通过事务代码创建语义对象、磁贴目录和目标映射;4)配置PFCG角色分配;5)补充了部署失败解决方案、翻译问题处理、自定义主题设置以及登录页面LOGO修改等内容。文章提供了step-by-step的操作指南,帮助开发者将预览模式的应用正式部署到生产 阅读详情

相关推荐

Windows11 下 Detectron2 的安装与配置全攻略

本文提供了在Windows11系统下安装和配置Detectron2的完整教程。详细介绍了从环境准备、创建虚拟环境、安装PyTorch与CUDA,到修改源码、编译安装以及运行验证Demo的全过程,帮助开发者克服Windows平台上的常见问题,成功部署这一强大的计算机视觉库。

weixin_29081703的博客 246

Java的两个高精度计算的类:BigInteger,BigDecimal

BigInteger 和 BigDecimal二者都是属于包装器类的范畴,但二者都没有对应的基本类型。两个类包含的方法,提供的操作都与基本类型所执行的操作相似,能够作用于int和float 类型的操作,也能够作用于BigInteger和BigDecimal的操作。以方法调用的方式来取代运算符方式来实现,同时这样做就降低了运算的速度。运算速度慢。BigInteger支持任意精度的整数,比如:任何大小的

技术的路上,自己摸着走。 734

新手必看!BUUCTF-PWN题实战:从零搭建Kali环境到成功RIP栈溢出

本文为CTF二进制安全新手提供了一份详实的BUUCTF-PWN入门指南。内容涵盖从零搭建Kali Linux环境、安装配置pwntools等核心工具,到深入浅出地讲解栈溢出原理与汇编基础,并手把手带领读者完成一道名为“rip”的经典栈溢出题目实战,成功利用漏洞获取系统权限。

t8u9v0w1x的博客 504

java加减时四舍五入_JAVA大数类—基础操作(加减乘除、取模、四舍五入、设置保留位数)...

当基础数据类型长度无法满足需求时可以使用大数类构造方法接受字符串为参数1 BigInteger bInt = new BigInteger("123123");2 BigDecimal bDouble = new BigDecimal("123123.123123124");基础操作(取模使用divideAndRemainder方法,返回的数组第二个元素为余数): BigDecimal在做除法时必...

weixin_34665386的博客 402

移动机器人底盘-四轮差速模型(四轮独立)

对于底盘的前轮和后轮来说,其速度是同步的,那么在理想条件下,可以将底盘运动视为以ICR为圆心做圆周运动,对于四个轮子来说,圆周运动的角速度是一致的,圆周运动圆心ICR始终位于底盘几何中心COG的y轴延长线上,ICR与COG之间的距离。有关,整个底盘的速度位于速度瞬心COM处,用。四轮差速底盘设定左轮、右轮得速度分别为。圆周运动的角速度公式如式1所示。受约束,约束与圆周运动的角速度。合成,设四个轮子的速度分别为。,设左轮和右轮之间的轴距为。为圆周运动角速度,线速度为。,其均由预设目标速度。

Moresweet 猫甜 1万+

01 AUTOSAR CP标准文档阅读指南

01 AUTOSAR CP标准文档阅读指南

汽车软件工程师 | 好奇博主 | 处女座 1134

JAVA之大数操作及小数操作(BigInteger类、BigDecimal类)

版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢! 本文网址:https://blog.youkuaiyun.com/sun8112133/article/details/81291750   今天我们来讲讲在 Java中 经常被忽视的两个细节 —— 大数操作与小数操作。   本篇将对如何使用 BigInteger类 和 BigDecimal类 进行大数操作与小数...

小异常的博客 5253

生信人填坑记 orthofinder的安装和基础使用

其中常用的有两个结果,第一个是Orthogroups文件夹下的Orthogroups.GeneCount.tsv,这个文件里保存着每个家族在每个物种里的成员数量。(写到这儿饭点到了,吃饭要紧…在国内使用conda的同学我相信很多人都会遇到-|- -|- -|- -|- -|- -|- -|- -|- 一直转圈。软件的是由很简单,将你要跑的物种的蛋白质文件放在work/data目录下,文件名都用物种缩写,后缀统一就行。当然,很多软件都会自带一个这样的文件,conda装不了的时候可以去软件官网溜达溜达。

qq_43337286的博客 5381

java计算小数big,【语句总结】java中数值的精确计算,大型小数:BigDecimal

BigDecimal(大型小数)是Java在java.math包中提供的API类,用于精确计算、储存和表示超过16为的数。如何使用BigDecimal类?1. 创建2. 运算3. 截断(保留位数)即:1、创建BigDecimal类来储存数值。BigDecimal有4中构建方法,各对应一种数据类型。(1)BigDecimal(int)(2)BigDecimal(long)//整数(3)BigDeci...

weixin_42467457的博客 554

宇树科技嵌入式面试题及参考答案(春晚机器人的公司)

内存对齐是指在内存中为数据对象分配存储空间时,按照一定的规则将数据存储在特定的地址上,以提高内存访问效率。不同的数据类型在内存中都有其特定的对齐要求,例如,int类型通常要求 4 字节对齐,double类型通常要求 8 字节对齐。这意味着数据的存储地址必须是其对齐字节数的整数倍。如果不进行内存对齐,处理器在访问数据时可能需要进行多次内存访问,从而降低了访问效率。指令可以用于控制结构体内存布局,它允许程序员指定结构体成员的对齐方式。其基本用法是在结构体定义之前使用来指定对齐字节数n,其中n。

大模型大数据攻城狮的专栏 3225

【vsomeip3 教程】基于 vSomeIP 3.5 的路由域实践:从配置到运行状态的完整指南

___ > 前言(读者定位与准备) 目标读者:在 Linux 上做分布式/车载中间件通信的 C++ 工程师。 > 先决条件:CMake、Boost 基础;理解 TCP/UDP 与多进程通信。 > 文中术语:Routing Host(路由进程)、Application、Service/Instance、Method、Event/EventGroup、SOME/IP-SD。 > 演示环境:单机多进程 & 跨主机两套对照。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 1159

bigdecimal 科学计数转普通计数_精确计算之:详解BigDecimal的使用

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。对于Double类型的运算,通常使用此类处理,来有效避免精度问题。正文基本运算加减乘除方法返回的是BigDecimal型数据:.add(),.subtract(),.multiply(),.divide();比较大小compareTo方法返回的是一个int型数据:-1 小于; 0 等于; ...

weixin_39731845的博客 982

Vue3 - vite 项目报错:Uncaught ReferenceError: require is not defined(解决 vue3 vite 项目无法识别 require 语法导致报错)

vue3,vite,报错解决,vue3+vite报错requireisnotdefined,vue3vite引插件不识别require,老插件必须用require怎么办,vite项目插件要求使用require引入但报错,vue3不兼容require导致第三方包插件无法使用,vue3vite中使用require报错怎么办,解决Vite+vue3使用第三方依赖报错“requireisnotdefined”问题,vite项目require语法兼容问题解决requireisnotdefine

🏆 前端领域优质创作者 2万+

Java控制小数位,获得随机数

因为测试加速器所以创建了一个模拟的输出随机数,中间发现使用的时候因为方法比较多,所以总结了获得随机数,和浮点数小数位的处理方法,拿出来分享一下。

SHE_WithWings的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

oracle取较小数,oracle 取小数位数

select ltrim('124532.62879'-floor('124532.62879'),'0.') from dual;select length(66695)from dual;这两条SQL结合起来,就可以查询出小数点后边部分的小数位数、在Oracle中很经典,也很实用!下面这个做法也还是经典(推荐使用):比如有一张表的某字段是 number(10,4)的,但是大多数是3位小数,如...

weixin_33594971的博客 2647

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java中数字的有效位数,和小数点后保留的小数位

import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMode; /** * JAVA中关于数字取几位有效位数,和小数点后保留几位小数的小示例。 * @author SailingZhao * */ public class TestBigDecimal { /**保留几

meishigaishaming 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java基础之数字格式化显示(保留两位小数点)

java中常会用到数字的格式化显示,常用类有DecimalFormat、NumberFormat以及BigDecimal。 1.保留两位小数点 //******=保留两位小数点=******// double d = 10 / 3; // 方式一 DecimalFormat方式 System.out.println("DecimalFormat方式显示数据:")...

joh_hz的博客 1万+

Java中保留小数位的几种方法

昨天做了网易的笔试题,选择题都不是很难,但是在做到第一个编程题的时候就被卡住了。不是因为题目有多难,主要卡在了题目上要求保留6位小数,这就非常尴尬了,结果都做对了,就是不会保留,导致题目的通过率为0。在考试结束后就立马查了一些资料,发现了几种保留小数位的方法,都很实用,总结如下: 1.ROUND_UP:远离0方向舍入。即只要弃位非0就进一位。 其实调用的就是BigDecimal类中的setSc...

menqiqi_的博客 1万+

关于Java中保留小数位的几种汇总

Java中的保留小数位的几种方法: 1. 使用java.math.BigDecimal BigDecimal 计算和保留小数位是在Java最常用的,也是在财务或者是数据分析中比较重要的方法,要是计算不准确,会少很多钱的哦! 具体的方法有: BigDecimal.setScale(int newScale, int roundingMode);//设置格式化小数位 //在这个方法中int...

captian_900331的博客 8294

Java如何保留指定小数位数

Java保存指定位小数 问题:需要将一个小数d保留n位输出 方法一:String.format double d = 123.212378; String s = String.format("%.nf", d); double v = Double.parseDouble(s); 将n替换为小数点后的位数即可,此方法是会四舍五入的。 方法二:DecimalFormat double d = 1...

hhhghh_的博客 1万+

BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

一、简介     Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法

JohnieLi的博客 8464

java Bigdecimal的加减乘除运算及保留小数位

一、运算 java.math.BigDecimal。BigDecimal一共有多种够造方法,让我先来看看其中的两种用法: 第一种:BigDecimal(double val) 第二种:BigDecimal(String val) //通常采用这种方式 来看看BigDecimal的四则运算: BigDecimal的四则运算 加法 bigDecimal1.add(bigDecimal2) 减法 bigDecimal1.subtract(bigDecimal2) 乘法 bi.

wwwzhouzy的专栏 5424

JAVA中有小数如何精确相加,关于java中对小数的精确处理

java 中提供BigDecimal对小数的精确处理a) 通常用到下面的方法: 保留两位小数, 四舍五入setScale(int newScale, int roundingMode)- newScale:保留的小数位数- roundingMode:精度取值方式roundingMode的取值有一下几个:ROUND_CEILING大于等于该数的那个最近值ROUND_DOWN正数是小于等于该数的那个最...

weixin_30185907的博客 2891

java除法运算有小数_Java 整数间的除法运算如何保留所有小数位?

1.情景展示 double d = 1/10; System.out.println(d); 返回的结果居然是0.0!这是怎么回事儿? 2.原因分析 第一步:你会发现用运算结果也可以用int类型接收! 没有报错,也就是说: 在Java语言中,整数之间的除法运算,不管你的小数位有多少位,小数是几,统统舍弃,只返回整数位数字! 第二步:用double类型接收为什么也可以? 因为double类型的取值返...

weixin_35925259的博客 4473

java获取小数位数_Java获取小数位数 | 学步园

最近搞Struts2弄得有点头昏脑胀,第一个例子“HelloWorld”总不成功,有点郁闷。想起前几天上cpld/fpga课时老师说得判断小数位数的例子,闲来无事用Java实现一下。顺便也在csdn上露露头。思想:将小数作为字符串处理,获取小数点的位置。用字符串的长度减去小数点位置,再减去1,得到小数位数。/*** @(#)GetBitsOfDecimal.java*** @author zhan...

weixin_42360846的博客 2416

java获取小数位数及四舍五入工具类

java获取小数位数及四舍五入工具类

技术分享 422
上一篇: Java基础之System与Runtime
下一篇: Java基础之二叉树与中序遍历
C_time
博客等级 码龄10年 62粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值