Java Can';Don’不要把30亿以上的数字计算在内
我这里有一个问题,当我计算一个超过20亿的数字时,30亿总是错误的,并且显示力接近。那么我需要做什么来修复它呢Java Can';Don’不要把30亿以上的数字计算在内,java,android,eclipse,android-studio,Java,Android,Eclipse,Android Studio,我这里有一个问题,当我计算一个超过20亿的数字时,30亿总是错误的,并且显示力接近。那么我需要做什么来修复它呢 long initial_investment, total_investment; DecimalFormat df = new DecimalFormat ("###,###,###,###"); initial_investment = Integer.parseInt( Text1.getText().toString()); if (initial_investmen
long initial_investment, total_investment;
DecimalFormat df = new DecimalFormat ("###,###,###,###");
initial_investment = Integer.parseInt( Text1.getText().toString());
if (initial_investment <= 1000000000)
{
total_investment = ((initial_investment * 3) /100)+ total_investment;
Text5.setText(df.format(total_investment));
}
else if (initial_investment > 1000000000 && initial_investment <= 3000000000L )
{
total_investment = (long) (((initial_investment* 2.5) /100)+ total_investment);
Text5.setText(df.format(total_investment));
}
else if (initial_investment > 3000000000L )
{
total_investment = ((initial_investment * 2) /100)+ total_investment;
Text5.setText(df.format(total_investment));
}
}
长期初始投资,总投资;
DecimalFormat df=新的DecimalFormat(“#####,###,##,##,#”);
initial_investment=Integer.parseInt(Text1.getText().toString());
if(初始投资100000000和初始投资30000000000L)
{
总投资=(初始投资*2)/100)+总投资;
Text5.setText(df.format(总投资));
}
}
如果您正在处理一些非常大的价值,我建议您使用。您可以使用它,如下所示
BigInteger bi1, bi2, bi3;
// assign values to bi1, bi2
bi1 = new BigInteger("123");
bi2 = new BigInteger("50");
// perform add operation on bi1 using bi2
bi3 = bi1.add(bi2);
String str = "Result of addition is " +bi3;
你可以这样做
initial_investment= Long.parseLong( Text1.getText().toString());
而不是
initial_investment = Integer.parseInt( Text1.getText().toString());
对不起,这是我的错,但现在我必须修复它,我只需要将初始投资从int改为long
initial_investment = Long.parseLong( Text1.getText().toString());
初始投资是一个整数吗?整数不能超过21.4亿。这个例子没有显示初始投资是整数还是长的…@matthew初始投资是长的关于
总投资
?什么是df
,十进制格式?引号“123”和“50”是什么意思?@RickyAN BigInteger将数字作为string@intboolstring方法parseInt(String)对于类型BigInteger是未定义的当构造函数本身可以将String
转换为BigInteger
时,为什么需要parseInt
类型的方法?如果这对您有帮助,您可以接受它作为正确答案;)