标签: bigdecimal

将BigDecimal转换为Integer

我有Hibernate方法,它返回一个BigDecimal.我有另一个API方法,我需要传递该数字但它接受Integer作为参数.我无法更改两种方法的返回类型或变量类型.

现在如何将BigDecimal转换为Integer并将其传递给第二个方法?

有没有办法解决这个问题?

java integer casting bigdecimal

126
推荐指数
5
解决办法
28万
查看次数

安全字符串到BigDecimal转换

我正在尝试从字符串中读取一些BigDecimal值.假设我有这个字符串:"1,000,000,000.999999999999999",我希望得到一个BigDecimal.这样做的方法是什么?

首先,我不喜欢使用字符串替换的解决方案(替换逗号等).我认为应该有一些整洁的格式化程序来为我做这项工作.

我找到了一个DecimalFormatter类,但是因为它运行的时间很长 - 大量的精度都会丢失.

那么,我该怎么做呢?

java parsing bigdecimal

117
推荐指数
4
解决办法
35万
查看次数

如何在Java中设置千位分隔符?

如何在Java中设置千位分隔符?我有BigDecimal的String表示,我想设置千位分隔符并返回String.

java bigdecimal

113
推荐指数
8
解决办法
15万
查看次数

如何打印格式化的BigDecimal值?

我有一个BigDecimal字段amount代表钱,我需要打印其值在浏览器的格式一样$123.00,$15.50,$0.33.

我怎样才能做到这一点?

(我认为自己唯一的简单解决方案是floatValue从分数部分开始BigDecimal,然后使用NumberFormat两位数的精度).

java formatting bigdecimal number-formatting

93
推荐指数
5
解决办法
16万
查看次数

用Java表示货币价值

我知道BigDecimal是用于在Java中表示货币价值的推荐最佳实践.你用什么?您是否更喜欢使用更好的库?

java currency bigdecimal

92
推荐指数
5
解决办法
4万
查看次数

将秒值转换为小时分钟秒?

我一直在尝试将秒值(在BigDecimal变量中)转换为editText中的字符串,如"1小时22分33秒"或类似的东西.

我试过这个:

String sequenceCaptureTime = "";
BigDecimal roundThreeCalc = new BigDecimal("0");
BigDecimal hours = new BigDecimal("0");
BigDecimal myremainder = new BigDecimal("0");
BigDecimal minutes = new BigDecimal("0");
BigDecimal seconds = new BigDecimal("0");
BigDecimal var3600 = new BigDecimal("3600");
BigDecimal var60 = new BigDecimal("60");
Run Code Online (Sandbox Code Playgroud)

(我有一个roundThreeCalc,这是秒的值,所以我尝试在这里转换它.)

hours = (roundThreeCalc.divide(var3600));
myremainder = (roundThreeCalc.remainder(var3600));
minutes = (myremainder.divide(var60));
seconds = (myremainder.remainder(var60));
sequenceCaptureTime =  hours.toString() + minutes.toString() + seconds.toString();
Run Code Online (Sandbox Code Playgroud)

然后我将editText设置为sequnceCaptureTime String.但那没用.它每次强制关闭应用程序.我完全超出了我的深度,非常感谢任何帮助.快乐的编码!

java string android bigdecimal android-edittext

91
推荐指数
12
解决办法
20万
查看次数

如何在BigDecimal上使用>,=,<等比较运算符

我有一个domainPrice设置为BigDecimal数据类型的域类.现在我正在尝试创建一个比较价格的方法,但似乎我不能在BigDecimal数据类型中有比较运算符.我是否必须更改数据类型或是否有其他方法?

java spring bigdecimal operator-keyword

88
推荐指数
8
解决办法
13万
查看次数

BigDecimal - 使用new或valueOf

我遇到了两种方法从Big d中获取BigDecimal对象.

1. new BigDecimal(d)
2. BigDecimal.valueOf(d)
Run Code Online (Sandbox Code Playgroud)

哪种方法更好?valueOf会创建一个新对象吗?

一般情况下(不仅仅是BigDecimal),推荐什么 - new或valueOf?

谢谢.

java bigdecimal

87
推荐指数
3
解决办法
8万
查看次数

Java BigDecimal:舍入到最接近的整数值

我需要以下结果

100.12 -> 100.00
100.44 -> 100.00
100.50 -> 101.00
100.75 -> 101.00
Run Code Online (Sandbox Code Playgroud)

.round()还是.setScale()?我该怎么做?

java rounding bigdecimal

84
推荐指数
3
解决办法
16万
查看次数

Java BigDecimal可能溢出错误

我正在测试一些涉及a的代码的边界条件BigDecimal,我注意到当BigDecimal使用String初始化a时,"1e2147483647"它会出现意外行为.它似乎在0和之间有一个值1e-2147483647.当我试着打电话时intValue(),我得到一个NegativeArraySizeException.我应该注意,这2147483647是我系统上整数的最大值.我做错了什么,或者这是一个问题BigDecimal

BigDecimal test = new BigDecimal("1e2147483647");

test.compareTo(new BigDecimal(0));  //Returns 1
test.compareTo(new BigDecimal("1e-2147483647"));  //Returns -1
test.intValue();  //Throws NegativeArraySizeException
Run Code Online (Sandbox Code Playgroud)

java bigdecimal

78
推荐指数
1
解决办法
2308
查看次数