bigdecimal相关内容

有人知道这是否是Java库错误吗?

**这是一个更正后的帖子** 我正在使用BigDecimal进行一些非常复杂的数学计算,并且在数千次测试之一中遇到了错误.有人看到我做错了什么愚蠢的东西吗?我不这么认为. 下面的输出(从原始帖子中更正)是计算得出的几条迹线之一.好像Java只是错误地仅 printing 非BigInteger变量,因为该函数有效-使用x,ix,y和iy.问题是:为什么x的值会从一张打印变为另一张? - ..
发布时间:2020-09-20 20:14:17 Java开发

如何在摆动GUI中使用BigDecimal?

我正在使用BigDecimal表示Java SE应用程序中的产品价格. 我应该使用哪种摆动组件,以允许用户输入仅两个小数位的数字并将其绑定到BigDecimal变量/对象的属性. (检查用户输入的内容)? 我一直在玩JTextField,JFormattedTextField,NumberFormatter,MaskFormatter,但无法解决. 这些组件是否有任何组合和配置? ..
发布时间:2020-09-20 20:14:16 Java开发

用正确的小数位数格式化数字

我需要格式化一个小数点后2位的数字.原始数字可以是整数,也可以是小数点后三位的数字.但是,无论原始数字是整数还是小数位,结果的格式都应设置为逗号且始终保留小数点后两位. 当原始数字= 56565656.342 ==>我需要56,565,656.34 当原始数字= 56565656 ==>我需要56,565,656.00 当原始数字= 56565656.7 ==>我需要56,565,656 ..
发布时间:2020-09-20 20:14:12 Java开发

BigDecimal舍入模式

我们正在将一些sybase代码替换为Java,并且对Rounding BigDecimal出现问题以匹配sybase返回的内容 11.4443999999999999062083588796667754650115966796875-应该返回11.44 和 35.9549999999999982946974341757595539093017578125-应该返回35.96 ..
发布时间:2020-09-20 20:14:08 Java开发

用Java精确地将两个数字相乘

我正在寻找一种精确的方法来在Java中将两个浮点数相乘,并且我读到我应该使用BigDecimal,但是它不能按预期工作.我在做什么错了? 我的代码: BigDecimal a = new BigDecimal(3.53); BigDecimal b = new BigDecimal(3.59); BigDecimal c = a.multiply(b); System.out.pri ..
发布时间:2020-09-20 20:14:04 Java开发

在Number或BigInteger和BigDecimal(或这些API的文档中)中出现错误?

根据Number.longValue()的规范,该方法应... 将指定数字的值返回为long.这可能涉及舍入或截断. 但是,BigInteger(和BigDecimal)将覆盖此方法,并返回它表示的数字的整数部分的64个低位.例如,来自BigInteger的文档: [...]如果此BigInteger太大而无法容纳一个长整数,则仅返回低阶64位.[...] 我声称"这可能涉 ..
发布时间:2020-09-20 20:12:56 Java开发

使用BigDecimal打印Pi

我正试图使用​​BigDecimal来打印Pi,但事实证明这是不正确的 BigDecimal d = new BigDecimal(Math.PI); System.out.println(d); 以上答案给我"3.141592653589793115997963468544185161590576171875" 但是"3.141592653589793"之后的数字不 ..
发布时间:2020-09-20 20:12:51 Java开发

BigDecimal刻度不起作用

我有以下代码: BigDecimal result = BigDecimal.ZERO; result.setScale(2, BigDecimal.ROUND_FLOOR); //1 BigDecimal amountSum; // amount sum computation BigDecimal amountByCurrency = amountSum.divide(32); // ..
发布时间:2020-09-20 20:12:49 Java开发

idris中BigDecimal的实现

我正在尝试在Idris中实现一个十进制.到目前为止,我已经知道了: -- a big decimal has a numerator and a 10^x value -- it has one type for zero, --TODO the numerator can't be zero for any other case --TODO and it can't be divisi ..
发布时间:2020-09-20 20:12:40 其他开发

澄清BigDecimal.stripTrailingZeroes()的行为

为什么下面的代码显示的是0.00而不是0? BigDecimal big = new BigDecimal("0.00"); big = big.stripTrailingZeros(); System.out.println(big.toPlainString()); 以下是stripTrailingZeroes的文档: 返回BigDecimal,该数字在数值上等于此1,但从表示 ..
发布时间:2020-09-20 20:12:32 Java开发

使用BigDecimal限制有效数字的任何巧妙方法

我想将Java BigDecimal舍入到一定数量的有效数字(不保留小数位),例如到4位数字: 12.3456 => 12.35 123.456 => 123.5 123456 => 123500 等基本问题是如何找到BigDecimal的数量级,因此我可以决定在小数点后使用多少个位置. 我能想到的就是一个可怕的循环,除以10,直到结果为 ..
发布时间:2020-09-20 20:12:26 Java开发

创建自定义BigDecimal类型

在我的应用程序中,所有BigDecimal数字都按比例缩放以具有两位小数位.换句话说,每次我在代码中创建一个新的BigDecimal时,我也需要使用方法scale: BigDecimal x = BigDecimal.ZERO; x.setScale(2, RoundingMode.HALF_UP); 因此,为了减少工作量,我想创建自己的自定义BigDecimal类型,例如: pu ..
发布时间:2020-09-20 20:11:16 Java开发

如何仅将BigDecimal的整数部分转换为十六进制字符串?

我有多个BigDecimal类型,例如18446744073709551616,我想将其转换为十六进制值.我可以删掉小数部分. 有没有一种方法可以代替手动进行? 解决方案 从您的示例判断,您应该使用BigInteger而不是BigDecimal.这样,您可以使用 new BigInteger("18446744073709551616").toString(16) 如果您无 ..
发布时间:2020-09-20 20:11:13 Java开发