Java中数字的应用

2023-11-13

Java中数字的应用

在java中经常会遇到比较大的数,甚至超过了long型,那么该如何处理这些“大数据”呢?在java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,从原则上是可以表示“天文单位”一样大的数字咯,但有一个缺点就是比较费内存!

1、BigInteger

常用的方法有:

例:int a=1000

String A =“10000”

BigInteger b=BigInteger.valueOf(s);

  • BigInteger.valueOf(A) 将括号内的参数转换成指定的数据类型
  • b.add(BigInteger b) 是将b大整数加起来
  • b.subtract© 将c大整数相减,运用时前者减后者
  • b.multiply(d) 将大整数相乘
  • b.divide(d) 将大整数做除法,前者除后者
  • b.remainder() 这个函数的作用是将大整数取余
  • b.pow(exponent) 这个书次exponent 次方
  • b.abs() 这个函数的作用是取绝对值
  • b.mod() 这个函数的作用是对数进行取余
  • b.compareTo() 用来比较两个大整数大小的

2、BigDecimal

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。

常用的方法有:

  • add(BigDecimal) BigDecimal对象中的值相加,返回BigDecimal对象
  • subtract(BigDecimal) BigDecimal对象中的值相减,返回BigDecimal对象
  • multiply(BigDecimal) BigDecimal对象中的值相乘,返回BigDecimal对象
  • divide(BigDecimal) BigDecimal对象中的值相除,返回BigDecimal对象
  • toString() 将BigDecimal对象中的值转换成字符串
  • doubleValue() 将BigDecimal对象中的值转换成双精度数
  • floatValue() 将BigDecimal对象中的值转换成单精度数
  • longValue() 将BigDecimal对象中的值转换成长整数
  • intValue() 将BigDecimal对象中的值转换成整数

3、Math

常用的方法有:

  • Math.sqrt() :计算平方根
  • Math.cbrt() : 计算立方根
  • Math.pow(a, b) : 计算a的b次方
  • Math.max( , ) : 计算最大值
  • Math.min( , ) : 计算最小值
  • Math.abs( ) : 取绝对值
  • Math.ceil(): 向上取整
  • Math.floor() :向下取整
  • Math.rint():四舍五入,返回double值。注意.5的时候会取偶数
  • Math.round():四舍五入,float时返回int值,double时返回long值
  • Math.random(): 取得一个[0, 1)范围内的随机数
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中数字的应用 的相关文章

  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • 热重载在docker中运行的java程序

    我开发了一个java程序 应该在docker中运行 然而 我在调试docker中运行的java程序时遇到了很多痛苦 我在网上搜索 一些教程提出了像 spring dev tools 这样的工具 因为我的java程序是基于spring boo
  • 如何测试 JUnit 测试的 Comparator?

    我需要测试 Compare 方法 但我对如何测试感到困惑 我可以看看该怎么做吗 public class MemberComparator implements Comparator
  • Java8无符号算术

    据广泛报道 Java 8 具有对无符号整数的库支持 然而 似乎没有文章解释如何使用它以及有多少可能 有些函数 例如 Integer CompareUnsigned 很容易找到 并且似乎可以实现人们所期望的功能 但是 我什至无法编写一个简单的
  • 在数据流模板中调用 waitUntilFinish() 后可以运行代码吗?

    我有一个批处理 Apache Beam 作业 它从 GCS 获取文件作为输入 我的目标是根据执行后管道的状态将文件移动到两个 GCS 存储桶之一 如果管道执行成功 则将文件移动到存储桶 A 否则 如果管道在执行过程中出现任何未处理的异常 则
  • 如何在jsp代码中导入java库?

    我有以下jsp代码 我想添加 java io 等库 我怎样才能做到这一点
  • 请求位置更新参数

    这就是 requestLocationUpdates 的样子 我使用它的方式 requestLocationUpdates String provider long minTime float minDistance LocationLis
  • 迁移到 java 17 后有关“每个进程的内存映射”和 JVM 崩溃的 GC 警告

    我们正在将 java 8 应用程序迁移到 java 17 并将 GC 从G1GC to ZGC 我们的应用程序作为容器运行 这两个基础映像之间的唯一区别是 java 的版本 例如对于 java 17 版本 FROM ubuntu 20 04
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • 反思 Groovy 脚本中声明的函数

    有没有一种方法可以获取 Groovy 脚本中声明的函数的反射数据 该脚本已通过GroovyShell目的 具体来说 我想枚举脚本中的函数并访问附加到它们的注释 Put this到 Groovy 脚本的最后一行 它将作为脚本的返回值 a la
  • 归并排序中的递归:两次递归调用

    private void mergesort int low int high line 1 if low lt high line 2 int middle low high 2 line 3 mergesort low middle l
  • 如何在 JFreeChart TimeSeries 图表上显示降雨指数和温度?

    目前 我的 TimeSeries 图表每 2 秒显示一个位置的温度 现在 如果我想每2秒显示一次降雨指数和温度 我该如何实现呢 这是我的代码 import testWeatherService TestWeatherTimeLapseSer
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • org.jdesktop.application 包不存在

    几天以来我一直在构建一个 Java 桌面应用程序 一切都很顺利 但是今天 当我打开Netbeans并编译文件时 出现以下编译错误 Compiling 9 source files to C Documents and Settings Ad
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • 运行 Jar 文件时出现问题

    我已将 java 项目编译成 Jar 文件 但运行它时遇到问题 当我跑步时 java jar myJar jar 我收到以下错误 Could not find the main class myClass 类文件不在 jar 的根目录中 因
  • KeyPressed 和 KeyTyped 混淆[重复]

    这个问题在这里已经有答案了 我搜索过之间的区别KeyPressedand KeyTyped事件 但我仍然不清楚 我发现的一件事是 Keypressed 比 KeyTyped 首先被触发 请澄清一下这些事件何时被准确触发 哪个适合用于哪个目的
  • java8 Collectors.toMap() 限制?

    我正在尝试使用java8Collectors toMap on a Stream of ZipEntry 这可能不是最好的想法 因为在处理过程中可能会发生异常 但我想这应该是可能的 我现在收到一个我不明白的编译错误 我猜是类型推理引擎 这是
  • javax.persistence.Table.indexes()[Ljavax/persistence/Index 中的 NoSuchMethodError

    我有一个 Play Framework 应用程序 并且我was使用 Hibernate 4 2 5 Final 通过 Maven 依赖项管理器检索 我决定升级到 Hibernate 4 3 0 Final 成功重新编译我的应用程序并运行它
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item

随机推荐

  • Django N+1 ORM问题以及优化实现

    N 1 问题 理解 yH N 1 问题 理解实现 yH 直接上各段代码的试验 来源 QuerySet API 参考 Django 文档 Django models from django db import models from xxx
  • LeetCode-11

    11 盛最多水的容器 给你 n 个非负整数 a 1 a 2
  • [计算机毕设]基于java的题库及试卷管理系统设计与实现(源代码+项目报告)

    项目说明报告 Smart系统 题库及试卷管理模块的设计与开发 SMART系统是一个采用新思路 新架构 新技术开发出来的一个新型智能在线考试信息管理系统 该系统主要实现了学生在线考试与评估以及对各种评估信息的管理和维护 本文针对教育工作的具体
  • BES2300x笔记(13) -- 主从耳关键log解析

    哈喽大家好 这是该系列博文的第十三篇 篇 lt lt 系列博文索引 快速通道 gt gt 一 前言 对于BES平台 因为没有可视化的IDE 所以串口log就成了我们Debug时的主要辅助手段 通过添加串口打印信息 几乎可以调试我们开发时遇到
  • 企业监控服务器Cacti、nagios服务器

    Cacti监控服务器入门详解 作为一名Linux SA 日常最重要的就是保证网站正常稳定的运行 我们需要实时监控网站 服务器的运行状态 这时需要借助开源软件 cacti nagios zabbix等 监控来实现 Cacti是用php语言实现
  • 2021年4月记录(整合redis,springboot加载配置文件顺序)

    1 springboot 2整合redis 参考 1 1 连不上redis 改redis配置Unable to connect to Redis nested exception is io lettuce core RedisConnec
  • c++ 优先级队列priority_queue的使用

    c priority queue是对其他容器元素顺序的调整包装 堆的原理 1 定义 priority queue
  • Mac neo4j忘记密码,不删除数据处理方法

    首先进入neo4j的目录 比如 cd Users hhhhh Software neo4j community 4 3 3 如果neo4j启动 需要关闭neo4j服务 bin neo4j stop 然后打开配置文件 修改一下设置 vim c
  • PHP数据类型转换

    http www blogjava net zuofei bie archive 2010 03 31 317092 html PHP的数据类型转换属于强制转换 允许转换的PHP数据类型有 int integer 转换成整形 float d
  • 大模型系列活动现已开放全球讲者报名通道

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 AI TIME大模型系列活动定期特邀来自全球知名高校与研究机构的青年学者 分享最新大模型前沿动态 思辨大模型未来之路 今年以来 已邀请海内外150多位讲者 沉淀了近50场大模型系
  • SpringBoot整合调用微信模板方法实现微信公众号消息通知推送,Java实现微信公众号给关注用户推送自定义消息通知(手把手从0到1)

    目录 概述 公众号给关注用户推送自定义消息 一 申请公众号模板消息 二 获取安装 web开发者工具 三 微信网页授权说明 四 微信网页授权 流程时序图 五 HTTPClient 实现微信公众号消息推送与发布 四步走 六 通过weixin j
  • [转][QNX]对存储设备分区

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 email 174176320 qq com 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 命令格式 fdisk
  • acwing蓝桥杯刷题

    维生素C吃多了会上火 个人CSDN博文目录 2022蓝桥杯 目录 第一讲 递归与递推 1 递归实现指数型枚举 2 递归实现排列型枚举 3 简单斐波那契 4 费解的开关 5 递归实现组合型枚举 6 带分数 7 飞行员兄弟 8 翻硬币 9 总结
  • WSL2文件迁移到D盘

    查看当前wsl 通过输出看到当前的wsl名称是Ubuntu wsl l 适用于 Linux 的 Windows 子系统分发版 Ubuntu 默认 导出 导出到D盘 文件名为ubuntu tar 这里需要等一段时间 wsl export Ub
  • CS安装卸载测试总结

    最近在执行C S控制客户端安装卸载的测试 通过自己的测试经历和网上的资料 总结以下安装卸载测试点 安装测试 1 GUI测试 安装过程中所有的界面显示 提示信息等是否正确 2 兼容性测试 在不同的操作系统 不同配置的主机上能否正常安装 3 安
  • 从 Microsoft Dynamics CRM 4.0 server迁移到 Microsoft Dynamics CRM 2013 Server

    不能就地升级早于 Microsoft Dynamics CRM Server 2011 的版本号 比方 Microsoft Dynamics CRM 4 0 server 可是 能够在升级过程中使用 Microsoft Dynamics C
  • ssd颗粒查看工具_SSD又降价了,但是使用前一定要做这几件事

    前段时间是618大促 各品类产品都开启了促销模式 SSD也是如此 相信不少朋友都买了SSD 来为系统加速 没来得及上车的玩家也不要伤心 根据业界的预测 接下来SSD价格还要走低 第三季度闪存价格又要陷入一个跌价周期 预计下滑5 以内 而第四
  • pdfjs优化,实现按需加载,节省流量和内存

    1 问题 当使用pdfjs来实现预览功能的时候 遇到了2个问题 一是带宽占用过大 会下载整个pdf文件 这对部署在公网的应用来说 成本压力很大 因为云服务带宽是很贵的 二是内存占用过大 一个80M的pdf 在预览时占用内存高达600M 在一
  • org.springframework.web.context.ContextLoaderListen 报错解决办法

    今天搭建SSH项目的时候出现了如下错误 严重 Error configuring application listener of class org springframework web context ContextLoaderList
  • Java中数字的应用

    Java中数字的应用 在java中经常会遇到比较大的数 甚至超过了long型 那么该如何处理这些 大数据 呢 在java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类 从原则上是可以表示 天文单位 一样大的