BigDecimal 数据类型与 Double

2023-12-08

Jama Matrix 用 Ja​​va 编写了一个类。班级是这样的

public Matrix (int m, int n, double s) {
  this.m = m;
  this.n = n;
  A = new double[m][n];
  for (int i = 0; i < m; i++) {
     for (int j = 0; j < n; j++) {
        A[i][j] = s;
     }
  }
}

它可以创建一个 m*n 维度的矩阵,其数据类型为 double,这意味着在 point(.) 之后需要 6 位数字。但我需要一个矩阵,它可以在点后至少取 10 位数字(如 12.1234567890)。因此,经过搜索后,我发现 BigDecimal 数据类型可以采用这种类型的值。所以我稍微修改了一下之前的代码。

 public Matrix(int m,int n,BigDecimal s){
   this.m=m;
   this.n=n;
   A= new BigDecimal[m][n];
   for(int i=0;i<m;i++){
       for(int j=0;j<n;j++){
           A[i][j]=s;
       }
   }
}

但它会引发错误。 java中是否有其他用于浮点数的数据类型。

运行这段代码时我有点困惑

 public class T {
public static void main(String args[]){
    double a= 3.256147001235;
    double b=4.200001258920;
    double c=a+b;
    System.out.println(c);
}
 }

这里的数据类型也是 double 但输出是7.456148260155。所以这里它需要这个大数,但在矩阵类中它不能接受这个大数。


Unlike double or String, BigDecimalJava 编译器没有内置支持用文字构造对象。您需要使用构造函数或通过调用来构造它valueOf,取决于数据源:

Matrix bigDecimalMatrix = new Matrix(100, 80, BigDecimal.valueOf(4.200001258920));

or

Matrix bigDecimalMatrix = new Matrix(100, 80, new BigDecimal("4.200001258920"));

相似地,BigDecimal没有编译器支持运行算术运算。因此,代替

double c = a + b;

你需要写

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

BigDecimal 数据类型与 Double 的相关文章

  • 策略模式还是命令模式?

    假设我有一个金融交易列表 我需要针对这些交易执行一系列验证规则 一个例子是我有一笔购买产品的交易 但是首先我需要验证交易中的帐户是否有足够的可用资金 产品没有售完等 由于这些规则 交易将是标记为拒绝 并应指定错误代码 当然 我正在考虑用一个
  • 在 Java 正则表达式中获取多个模式的重叠匹配

    我有同样的问题这个链接 https stackoverflow com questions 18751486 matching one string multiple times using regex in java 但有多种模式 我的正
  • 使用 Apache POI Excel 写入特定单元格位置

    如果我有一个未排序的参数 x y z 列表 是否有一种简单的方法将它们写入使用 POI 创建的 Excel 文档中的特定单元格 就好像前两个参数是 X 和Y 坐标 例如 我有如下行 10 4 100 是否可以在第 10 行第 4 列的单元格
  • 最快的高斯模糊实现

    如何以最快的速度实施高斯模糊 http en wikipedia org wiki Gaussian blur算法 我要用Java来实现它 所以GPU http en wikipedia org wiki Graphics processi
  • 在哪里保存选项值、重要文件的路径等[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在创建一个程序 需要设置一些选项值以及图像文件的一些路径 SQLite 数据库的路径 有关各种按钮上文本的一些信息 有关要使用哪个数据库的信
  • 我需要在 JFileChooser(打开模式)中显示不带扩展名的文件名。如何?

    我在打开模式下使用 JFileChooser 我需要显示不带扩展名的 文件名 字段 如何 我知道文件视图 它删除文件系统文件中的扩展名 但将所选文件中的扩展名保留在 文件名 字段中解释 http saveimg ru show image
  • 以有效的方式从 Map 中删除多个键?

    我有一个Map
  • 如何在 MSSQL 中获取 CURRENT_DATE?

    我正在使用 jpa 3 o 和 Hibernate 我有一个命名查询 SELECT COUNT wt id FROM WPSTransaction wt WHERE wt createdDate gt CURRENT DATE WPSTra
  • JavaFX使节点覆盖父节点边框颜色

    我有一个如下所示的节点 仅使用 css 我希望标签覆盖其父边框颜色 因此标签下方的边框颜色部分变得不可见 我用来制作这个边框的CSS代码 fx border color black fx border width 3 fx border r
  • 在java中将字符串日期转换为美国格式

    我有下面的代码 其中日期为字符串类型 我必须将其设置为美国格式 所以下面我已经展示了它 private static final SimpleDateFormat usOutputDate new SimpleDateFormat MM d
  • 确定序列化对象的类型

    我需要通过套接字发送消息 从用户到引擎的请求 以及从引擎到用户的响应 所以流程本质上是 serialized request Server lt network gt Client serialized response request r
  • Java:SortedMap、TreeMap、可比较?如何使用?

    我有一个对象列表 需要根据其中一个字段的属性进行排序 我听说 SortedMap 和 Comparator 是实现此目的的最佳方法 我是否要与正在排序的类实现 Comparable 还是创建一个新类 如何实例化 SortedMap 并传入
  • 正确签名的 JNLP 应用程序无法在 Java 7 中运行

    我有一个 JNLP 应用程序 由于证书过期需要更新 我有一个经过 CA 验证的新证书 我已将新证书导入到我的密钥库中 我已导入完整的证书链 我的构建文件对构建中的 jar 进行签名和时间戳
  • 如何在不反编译的情况下更改已编译的.class文件?

    我想更改 class 文件方法 我安装 JD Eclipse Decompiler 并打开 class 文件 我添加了一些代码并保存 class 文件 但是 class 文件没有改变 我不知道如何使用反编译器 如果可能的话 如何在不使用反编
  • Java 中 JButton 的击键/热键

    最初我使用 JMenu 并建立热键以使用加速器工作 它运行得很好 现在我想在 JButton 中实现相同的行为 但我陷入困境 这是我编写的代码 请分享您的想法 以便我可以走上正确的道路 import javax swing import j
  • 如何以编程方式创建 CardView

    我正在开发一个 Android 应用程序Java Android Studio 我想在活动中创建CardView以编程方式 我想将以下属性设置为CardView layout width wrap content layout row 0
  • 让 Hibernate 和 SQL Server 与 VARCHAR 和 NVARCHAR 良好配合

    我目前正在大型数据库的某些表中启用 UTF 8 字符 这些表已经是 MS SQL 类型 NVARCHAR 此外 我还有几个使用 VARCHAR 的字段 Hibernate 与 JDBC 驱动程序的交互存在一个众所周知的问题 例如 参见在 h
  • spring data jpa复合键重复键记录插入导致更新

    我有一个具有复合键的实体 我试图通过使用 spring data jpa 存储库到 mysql 数据库来持久化它 如下所示 Embeddable public class MobileVerificationKey implements S
  • 受信任的 1.5 小程序可以执行系统命令吗?

    如果是的话 这个能力有什么限制吗 具体来说 我需要以 Mac OSX 为目标 我以前用过这个在 Windows 系统上启动东西 但从未在 Mac 上尝试过 public void launchScript String args Strin
  • java中void的作用是什么?

    返回类型 方法返回值的数据类型 如果方法不返回值 则返回 void http download oracle com javase tutorial java javaOO methods html http download oracle

随机推荐

  • 复选框首选项 onClick()

    我想实现一个由两部分组成的偏好屏幕 如果单击复选框 第一个类别应锁定 第二个类别应解锁 如果不是 则反转 现在我发现只有当我转到上一个活动然后转到新的 sharedPreferences 时它才有效 我应该覆盖哪个侦听器以及如何覆盖 你可以
  • MySql 中获取资源 id #3 错误

    我运行了这段代码 出现了一个 Resource id 3 错误 它应该显示完整的电影表 mysql connect localhost root password or die mysql error mysql select db tre
  • 将 Boost 编译为静态通用二进制库

    我想要一个 Boost 的静态通用二进制库 最好是最新的稳定版本 即 1 43 0 或更高版本 我发现许多谷歌搜索结果都有类似的问题和可能的解决方案 然而 其中大多数似乎已经过时了 而且它们都没有真正起作用 现在 我正在努力 sudo bj
  • PHP 中的多数组排序

    有人知道如何在 PHP 中按键 日期 对这个数组进行排序吗 Array 2011 02 16 gt Array date gt 2011 02 16 num gt 2 2011 02 11 gt Array date gt 2011 02
  • 我应该使用 Java 命名约定吗?

    我被分配到一个大型项目 该项目将用 Java 完成 并由团队中的一些程序员查看 我希望代码可读且易于理解 因此我希望命名约定适合每个阅读它的人 我想知道是否必须使用 Java 命名约定才能让其他人自然地查看和理解它 我总是使用一种我自己的命
  • 无法使用 HMAC SHA256 从示例中重现 AWS 签名

    我正在关注这个例子 http docs aws amazon com AmazonS3 latest API sigv4 query string auth html 并尝试重现他们所说的 64 个字符的签名字符串 aeeed9bbccd4
  • 具有多个路由键的 Spring Boot 流绑定队列

    我需要将单个队列与多个路由键绑定 我在 application properties 中有配置 spring cloud stream bindings some channel1 destination exch spring cloud
  • Android:在现实生活中 getLastKnownLocation(LocationManager.NETWORK_PROVIDER) 返回 null 的频率是多少?

    Android 用户是否有机会重置 NetworkProvider 使位置为空 我想到了一个想法 即只有在第一次启动设备后才能将该位置设置为空 但谷歌也会立即检查位置以征求我的意见 当然 我正在为这种罕见的情况实现默认位置 我只是想知道这种
  • python - 正则表达式为什么“findall”什么也没找到,但“search”有效? [复制]

    这个问题在这里已经有答案了 gt gt gt reg re compile r d 1 3 d 3 gt gt gt str 42 gt gt gt reg search str group 42 gt gt gt reg findall
  • Oracle LISTAGG() 用于查询使用

    所以我试图利用列表 函数来简单地构建一个逗号分隔列表以在基础查询中使用 列表生成工作正常 我只是应用了一个用于调试目的的输出 我可以在其中看到我的列表 因为它应该是 价值观 AB AZ BC CA CT DC FL FO GA IL KS
  • 我的过滤器无法工作,尽管它们应该工作相同

    我正在尝试制作西蒙说的游戏 我有 4 个不同颜色的方块 但为了美观 我在每个框周围留出了 10 个像素的边距 现在我正在尝试获取鼠标位置并查看当您单击哪个框时是否会进入 但它不起作用 主要内容是这样的 def findColor mouse
  • jQuery移动面板打开滚动页面到顶部,如何改变这个?

    因此 我正在开发一个 jQuery 手机间隙应用程序 我注意到每次打开面板时 主页都会自动滚动到顶部 我希望当您打开面板时页面保留在原处 经过一番谷歌搜索后 我唯一发现的是 github这并不令人鼓舞 这是 当菜单面板在 jquery mo
  • 在 C# 中创建 IStream 对象

    我正在编写一个项目并与另一方 DLL 一起工作 他们的 DLL 中的函数想要一个 IStream 对象来保存结果 但我不明白如何创建一个 IStream 对象 谁能帮我解决我的问题吗 您不创建 IStream 对象 因为显然它是一个接口 您
  • cleartool:如何按时间顺序列出流中的所有标签?

    我想按时间顺序列出应用于流的所有标签 理想情况下 我希望每个标签都具有如下所示的内容
  • 如何在测试时正确模拟 useSelector 挂钩以返回正确的值?

    我有一个在渲染时多次调用 useSelector 的函数 在模拟选择器时 我使用了 jest spyOn Redux useSelector mockReturnValueOnce data mockReturnValueOnce more
  • spring webmvc映射jsp(不带控制器)

    我正在尝试使用 Spring 3 web mvc 我有一个简单的页面链接 你知道 a href xyz thing 不知何故 spring mvc 不喜欢这样 eer 好吧 我的 spring 配置没有按照我希望的方式工作 我尝试使用 De
  • PHP数组循环并创建多维数组

    我有一个关联多维数组 如下所示 data array data Array 0 gt Array class gt 1styear branch gt IT Exam gt SEM1 student name gt Alex Bio gt
  • 如何从主机获取 Docker 容器的 IP 地址

    创建新容器后 是否可以运行命令来从主机直接获取容器的 IP 地址 基本上 一旦 Docker 创建了容器 我就想滚动自己的代码部署和容器配置脚本 此解决方案仅在容器与单个网络连接时才有效 这 format的选项inspect来救援 现代 D
  • 使用 GCC 有选择地删除警告消息

    这段代码 Int32 status printf status x status 给我以下警告 jpegthread c 157 warning format x expects type unsigned int but argument
  • BigDecimal 数据类型与 Double

    Jama Matrix 用 Ja va 编写了一个类 班级是这样的 public Matrix int m int n double s this m m this n n A new double m n for int i 0 i lt