96得票7回答
在Java中将字符串转换为BigDecimal

我正在将XML中的货币读入Java。String currency = "135.69"; 当我将它转换为 BigDecimal 时,我得到的结果是: System.out.println(new BigDecimal(135.69)); 输出:135.6899999999...

95得票14回答
在Java中表示货币值

我明白在Java中,BigDecimal被推荐作为代表货币价值的最佳实践。您使用什么?有没有更好的库可供您使用?

94得票5回答
将BigDecimal格式化为字符串,最多保留两位小数,并删除小数部分的0。

我有一个BigDecimal数字,只考虑它的两位小数,所以我使用以下方法将其截断:bd = bd.setScale(2, BigDecimal.ROUND_DOWN) 现在我想将其作为字符串打印出来,但如果小数部分为0,则将其删除,例如: 1.00 -> 1 1.50 -> 1...

90得票5回答
什么是最佳的(便携式)跨平台任意精度数学库?

我正在寻找一个好的C或C++任意精度数学库。你能给我一些建议或建议吗? 主要要求: 它必须能够处理任意大的整数——我的主要兴趣在于整数。如果您不知道“任意大”这个词是什么意思,可以想象一下100000!(100000的阶乘)。 精度不需要在库初始化或对象创建时指定。精度应该只受系统可用...

86得票6回答
Java中的double和BigDecimal在纬度/经度方面的应用差异

当存储通常格式为44.087585(即小数点前最多2个数字,小数点后6位)的纬度/经度时,是否需要使用bigdecimals?

86得票6回答
在Java中从BigDecimal中移除尾随零

我需要从BigDecimal中去除尾部的零,并使用RoundingMode.HALF_UP。例如,Value Output 15.3456 <=> 15.35 15.999 <=> 16 //No trailing zeros...

81得票8回答
BigDecimal 转换为字符串

我有一个BigDecimal对象,想要将其转换为字符串。 问题在于我的值有小数部分,导致我得到了一个非常长的数字,而我只需要原始数字的字符串形式。例如:BigDecimal bd = new BigDecimal(10.0001) System.out.println(bd.toString(...

79得票11回答
JUnit使用BigDecimal进行断言

我想在两个小数之间使用assert,我使用以下代码:BigDecimal bd1 = new BigDecimal (1000); BigDecimal bd2 = new BigDecimal (1000); org.junit.Assert.assertSame (bd1,bd2); 但是...

78得票1回答
Java BigDecimal可能存在溢出漏洞

我在测试一些涉及到BigDecimal的代码边界条件时,注意到当使用字符串"1e2147483647"初始化BigDecimal时,它的行为出现了意外。它的值似乎介于0和1e-2147483647之间。当我尝试调用intValue()时,会出现NegativeArraySizeExceptio...

74得票5回答
使用2位小数对BigDecimal值进行四舍五入

我想要一个函数将Bigdecimal10.12转换为10.12345,并将10.13转换为10.12556。 但是没有一个函数可以同时满足这两个转换。请帮忙实现。 以下是我的尝试。 使用值10.12345:BigDecimal a = new BigDecimal("10.12345"); ...