嗨朋友我想在小数点后得到两个值,但在我的小数点后我得到0。这是我的代码。
if (!ed.getText().toString().equals("")) {
if (rb1.isChecked()) {
int input = Integer.valueOf(ed.getText().toString());
double out = input / 24;
out = (double)Math.round(out * 100)/100;
Intent m = new Intent(Page.this,MActivity.class);
m.putDoubleExtra("res", out);
startActivity(m);
我也引用了这些网站:Android : How to get just two digit after the point in decimal value ? dont want to trunc the value
Java : how do I get the part after the decimal point?
我也尝试了下面的代码,但是在小数点后得到0。
DecimalFormat newFormat = new DecimalFormat("#.##");
double twoDecimal = Double.valueOf(newFormat.format(d))
请帮我新编码。提前谢谢。
答案 0 :(得分:1)
由于input
和24
是整数,因此在划分时,它仍然会生成int
。只有这样才能转换为双倍。
解决此问题的一种方法:double out = input / 24.0;
答案 1 :(得分:0)
DecimalFormat newFormat = new DecimalFormat(“#。00”); double twoDecimal = Double.valueOf(newFormat.format(d))
在我找到的代码中
out =(double)Math.round(out * 100.0)/100.0;