JAVA学习笔记(二)浮点数与精确计算

2023-11-05

浮点数分为float(单精度浮点数)和double(双精度浮点数。

float取值范围是4字节32位,精度是7到8位。

double取值范围是8字节64位,精度是16到17位。

数据转化时会有精度的损失,所以通过BigDecimal类将浮点数转化为String类型,然后再进行运算。

import java.math.BigDecimal;
public class Test{
    public static void main(String[] args) {
        double a=1.2;
        double b=1.3;
        System.out.println(sub(a,b));
        System.out.println(add(a,b));
    }
    public static double sub(double a,double b) {
        BigDecimal a1= new BigDecimal(Double.toString(a));
        BigDecimal a2= new BigDecimal(Double.toString(b));
        double c=a1.subtract(a2).doubleValue();
        return c;        
    }
    public static double add(double a,double b) {
        BigDecimal a1= new BigDecimal(Double.toString(a));
        BigDecimal a2= new BigDecimal(Double.toString(b));
        double c=a1.add(a2).doubleValue();
        return c;        
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA学习笔记(二)浮点数与精确计算 的相关文章

  • jvm中本机代码如何转换为机器代码[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我读过一些文章说 jvm将字节码转换为机器码 jvm将字节码转换为本机代码 jvm 将字节码转换为系统调用 系统调用又由操作系统与硬件
  • Java中的文字赋值[重复]

    这个问题在这里已经有答案了 定义上有什么区别 double example 23 1d or double example 23 1 为什么long float double可以以l f d结尾 之间没有区别double example 2
  • Java 流 - 按嵌套列表分组(按第二顺序列出)

    我有以下数据结构 每个学生都有一个州列表 每个州都有一个城市列表 public class Student private int id private String name private List
  • 我们可以在不使用 main 方法、静态变量和静态方法的情况下在控制台上打印 java 消息吗?

    public class Test param args 1st way public static void main String args TODO Auto generated method stub System out prin
  • 如何为java注释处理器编写自动化单元测试?

    我正在尝试使用 java 注释处理器 我可以使用 JavaCompiler 编写集成测试 事实上我现在正在使用 hickory 我可以运行编译过程并分析输出 问题 即使我的注释处理器中没有任何代码 单个测试也会运行大约半秒 对于以 TDD
  • Android 游戏偶尔出现延迟

    我正在用 Java 制作一个简单的 Android 游戏 我注意到每 20 40 秒就会出现一些烦人的延迟 首先 我认为它们是由垃圾收集器引起的 但当我检查 LogCat 时 我发现游戏滞后时没有垃圾收集 每当游戏开始滞后时 我都会标记日志
  • 按文件名过滤 eclipse 中的警告

    我们使用 Eclipse 进行 Java 开发 并使用 Maven 将 JSP 编译成 servlet 以便在嵌入式 Jetty 实例中使用 这意味着要从 Eclipse 运行该项目 我必须包含 target jsp source 作为源文
  • 在java中将DataURL图像转换为图像文件

    我在我的 java servlet 中接收图像 DataURL 它看起来像 data image jpeg base64 9j 4AAQSkZJRgABAQAAAQABAA 我需要将其另存为图像文件 我该怎么做 The simplest w
  • 为什么我要使用责任链而不是 switch 语句

    考虑一下您已经获得了多次验证 仅当要检查的对象属于某种类型时 这些验证才应生效 为什么我要使用责任链而不是 switch 语句 责任链示例 public class Executor Inject private ValidatorFact
  • 如何在 JdbcTemplate 中创建 mySQL 存储过程

    背景 为了解决 MySql 中某些语句只允许在存储过程中出现的问题 我尝试在 JdbcTemplate 提交的 sql 中创建 运行然后删除存储过程 一个简单的例子是 这恰好是在 Spring Boot 中 Service public c
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • Java 不可变对象 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习不变性的概念 据我了解 一旦创建对象 不可变对象就无法更改其值 但我不明白不可变对象的以下用途 They are 自动是线程
  • “___ 中的方法 ___() 是在无法访问的类或接口中定义的”编译错误

    我发现了一个奇怪的编译限制 我无法解释 并且我不明白这个限制的原因 示例1 考虑这些类 In package e1 public class C1 enum E1 A B C public E1 x In package e2 import
  • Java LRU 缓存使用 LinkedList

    堆栈溢出的新手 所以请不要介意我以菜鸟的方式问这个问题 我正在尝试使用链表实现 LRU 缓存 我在这里看到了使用 linkedHashMap 和其他数据结构的其他实现 但对于这种情况 我正在尝试使用链表创建最佳优化版本 正如我在技术期间被问
  • 如何停止 Eclipse 重建工作区?

    我的工作区有近 70 个项目 有时 Eclipse 开始重建工作区 但我没有做任何修改 重建需要近2小时 如何停止它并让 Eclipse 仅重建进行了修改的项目 谢谢 在菜单中 Project gt Build Automatically
  • 春季MVC。方法参数字段的默认值

    我有一个带有方法测试的简单控制器 RequestMapping produces application json ResponseBody public HttpEntity
  • Indigo 中的新 M2Eclipse 不再需要 maven-eclipse-plugin 吗?

    从历史上看 鉴于 Eclipse 中包含所有 Flex WTP 和 GWT 内容 将我们的多模块 Maven 项目导入到 Eclipse 中对我们团队来说是一个主要麻烦 我们最近在想maven eclipse 插件 http maven a
  • Java 验证日期为 yyyyMMddHHmmss

    我想在java中验证给定的日期格式为yyyyMMddHHmmss 状况 应符合格式 yyyyMMddHHmmss 它应该验证当前日期 它应该验证与当前小时有 3 小时或 3 小时差异的小时数 如果满足所有三个条件 Java 方法应返回 tr
  • 在 REST Web 服务中接受逗号分隔值

    我正在尝试接收 REST URI 中以逗号分隔值形式的字符串列表 示例 http localhost 8080 com vogella jersey first rest todo test 1 abc test 其中 abc 和 test
  • Spring Transactional 减慢了整个过程

    我正在尝试分析我有两堂课的情况 其中一个类是 ProcessImpl 它是起点并在内部调用其他子事务 我不知道出了什么问题 processImpl正在导入一些东西并将相关数据写入数据库 Specs Spring orm版本 3 2 18 发

随机推荐

  • 解决中文乱码问起

    Java对数据库进行CRUD操作出现乱码 先查看web xml有没有配置字符编码过滤器
  • es6把多个class方法合并在一起

    前言 es6新增的class方法 现在想把他们多个合并到一起 最终生成一个新方法出来 思路 我们新建3个文件 分别为index js login js main js login js 和 main js是两个 class函数 将他们合并到
  • Huggingface-4.8.2自定义训练

    Huggingface走到4 8 2这个版本 已经有了很好的封装 训练一个语言网络只需要调用Trainer train 即可完成 如果要根据自己的需求修改训练的过程 比如自定义loss 输出梯度 直接修改huggingface的源码显然是不
  • Spire.Doc系列教程:C# Word 图片替换

    Spire Doc支持在Word文档中对图片进行多种操作 如添加 提取 替换和删除等 本文主要介绍如何使用Spire Doc替换Word文档中的图片 在Spire Doc中 图片替换包含文本替换图片和图片替换图片两种方式 以下部分将对这两种
  • js中file、blob、base64的相互转换,前端图片压缩、裁剪、文件格式转换

    最近做了个前端图片压缩 用到了很多js文件操作api 整理一下防止健忘 1 file转base64 获取文件的Base64 param file File 文件 param callback Function 回调函数 参数为获取到的bas
  • (个人)AR电子书系统创新实训中期总结

    AR电子书项目实训中期总结 已完成内容 使用ZXing Net库 验证并测试Unity中生成和识别二维码的功能 使用Unity自带的WWW类测试并实现了本地图像和视屏资源的读取 并使用File方法实现了资源的写入 通过www读入本地文件 p
  • Vue项目运行时报错These relative modules were not found

    Vue项目运行时报错These relative modules were not found ERROR Failed to compile with 2 errors These relative modules were not fo
  • 用git,clone依赖的库

    git clone https github com influxdata influxdb java git cd crfasrnn git submodule update init recursive 或 git clone recu
  • 汇编程序debug成功但不能直接运行

    王爽 汇编语言 实验10中的dtoc子程序 运行不了 但是单步调试可以通过并且结果正常 我的代码如下 assume cs code data segment db 10 dup 0 data ends code segment start
  • 标注转换与编辑软件

    标注转换与编辑软件 https github com Fafa DL LabelConvert 1 支持XML转JSON XML转TXT TXT转XML JSON转XML 2 XML JSON类别替换 3 XML JSON类别删除 该Git
  • 《软件测试的艺术》第3章:代码检查、走查与评审

    软件测试的艺术 软件开发人员通常不会考虑到的一种测试形式 人工测试 大多数人认为 因为程序是为了供机器执行而编写的 那么也应由机器来对程序进行测试 这种想法是有问题的 人工测试方法在暴露错误方面是很有成效的 实际上 大多数的软件项目都应使用
  • 100天精通Python(数据分析篇)——第75天:Pandas数据预处理之数据标准化

    文章目录 专栏导读 1 数据标准化是什么 2 数据标准化的作用 3 数据标准化的方法 4 离差标准化 5 标准差标准化 6 小数定标标准化 书籍介绍 专栏导读
  • Python 模块中的变量

    模块 module 其实就是py文件 里面定义了一些函数 类 变量等 包 package 是多个模块的聚合体形成的文件夹 里面可以是多个py文件 也可以嵌套文件夹 库是参考其他编程语言的说法 是指完成一定功能的代码集合 在python中的形
  • 第十四届蓝桥杯模拟赛第一期试题【Java解析】

    目录 A 二进制位数 问题描述 答案提交 参考答案 解析 B 晨跑 问题描述 答案提交 参考答案 解析 C 调和级数 问题描述 答案提交 参考答案 解析 D 山谷 问题描述 答案提交 参考答案 解析 E 最小矩阵 问题描述 答案提交 答案
  • css 栅格布局el-row(xs,sm,md,lg,xl)

    xs 12 24 12 2 所以当屏幕尺寸 lt 768px时 手机 每行展示2个div class com item sm 8 24 8 3 所以当屏幕尺寸 gt 768px时 平板 每行展示3个div class com item md
  • spark.ml支持算法总结

    文章目录 spark支持算法总结 推荐模型 协同过滤 分类模型 1 逻辑回归 2 决策树 3 朴素贝叶斯 4 随机森林 5 梯度提升决策树回归 6 多层感知器分类 7 一对多分类 8 支持向量机 回归模型 1 线性回归 2 广义线性模型 3
  • F1值(F-Measure)、准确率(Precision)、召回率(Recall)简单理解

    准确率与召回率 Precision Recall 准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值 用来评价结果的质量 准确率 Precision Precision是检测出某类特征的数量与检测出的所有特征数量之间的比率 衡量的
  • 开放-封闭原则(The Open-Closed Principle)

    1 定义 软件实体 类 模块 函数等等 应该是可以扩展的 但是不可修改的 开放 封闭原则主要体现在两个方面 对扩展开放 意味着有新的需求或变化时 可以对现有代码进行扩展 以适应新的情况 对修改封闭 意味着一旦设计完成 就可以独立完成其工作
  • Python编程新手看过来,如何求素数 (Python学习教程)

    本期的Python学习教程是针对新入门Python编程的新手来写的 关于怎么求素数 一 什么是素数 素数就是质数 通俗点说就是只能被1和其本身整数的数就是素数 1除外 举个例子 2 3 4 5 6当中 根据上面的定义 2只能被1整数 因为任
  • JAVA学习笔记(二)浮点数与精确计算

    浮点数分为float 单精度浮点数 和double 双精度浮点数 float取值范围是4字节32位 精度是7到8位 double取值范围是8字节64位 精度是16到17位 数据转化时会有精度的损失 所以通过BigDecimal类将浮点数转化