Java 从BigDecimal[]添加值
我正在努力寻找一种方法来从BigDecimal[]中添加值,BigDecimal[]是从mysql表中的复选框表单中获取的 这是到目前为止我所掌握的代码,但我找不到一种方法从这些值中只得到一个数字:Java 从BigDecimal[]添加值,java,bigdecimal,Java,Bigdecimal,我正在努力寻找一种方法来从BigDecimal[]中添加值,BigDecimal[]是从mysql表中的复选框表单中获取的 这是到目前为止我所掌握的代码,但我找不到一种方法从这些值中只得到一个数字: String select[] = request.getParameterValues("id"); if (select != null && select.length != 0) { for (int i = 0; i < select.length; i++
String select[] = request.getParameterValues("id");
if (select != null && select.length != 0)
{
for (int i = 0; i < select.length; i++)
{
BigDecimal total[] = new BigDecimal [select.length];
BigDecimal sum = new BigDecimal("0.00");
sum = sum.add(new BigDecimal [total.length]);
out.println(sum);
}
}
String select[]=request.getParameterValues(“id”);
if(select!=null&&select.length!=0)
{
对于(int i=0;i
非常感谢您的帮助。假设您正在添加包含有效数字的
字符串数组,您可以执行以下操作:
BigDecimal sum = BigDecimal.ZERO;
for (int i = 0; i < select.length; i++)
{
sum = sum.add(new BigDecimal(select[i]));
}
out.println(sum);
BigDecimal sum=BigDecimal.ZERO;
对于(int i=0;i
数组total[]
非常冗余。您可以将sum
声明和移出.println(sum)代码>退出循环。它不起作用的原因是,在创建最终总和时,没有正确添加select数组中的内容。类似这样的方法会奏效:
String select[] = request.getParameterValues("id");
if (select != null && select.length != 0)
{
BigDecimal sum = BigDecimal.ZERO;
for (int i = 0; i < select.length; i++)
{
try{
sum = sum.add(new BigDecimal(select[i]));
}catch(NumberFormatException nxe){
//Handle your exception
}
}
out.println(sum);
}
String select[]=request.getParameterValues(“id”);
if(select!=null&&select.length!=0)
{
BigDecimal总和=BigDecimal.0;
对于(int i=0;i
您的代码没有多大意义。要添加的BigDecimal
值的确切位置?它们是select[]
数组中的String
值吗?更正@JoãoSilva我得到一个字符串[],但我需要将其转换为大小数以获得一个求和数。我尝试了@Sujay,但什么也没有得到。。。我的意思是,没有错误,但是没有任何和值显示在屏幕上。@谢伊拉:考虑检查你在SELECT[]数组中得到的值,也检查当你试图执行<代码>添加(…)<代码>方法时是否有任何异常被抛出。谢谢@苏杰…这就是问题所在。。。我尝试了你的解决方案,也成功了!也非常感谢你!谢谢@Reimeus,但我什么都没有得到。println(sum)@Reimeus您的回答解释了在循环中添加BigDecimal的方法,因为BigDecimal是不可变的,它将创建许多BigDecimal的对象。我们有没有办法不用创建很多对象就可以做到这一点?