有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java格式加倍为字符串

Possible Duplicate:
How to nicely format floating types to String?

如何列出小数点后两位的数字?我尝试了这个方法:http://developer.安卓.com/reference/java/text/NumberFormat.html但是运气不好。下面是代码。也许有人能帮我

package karcio.fuel.economy;


public class FuelEconomy extends Activity 
{
    private EditText editText1;
    private EditText editText2;

private TextView textView4;
private TextView textView6;

private Button button1;

private double miles;
private double liters;
private double result;
private double convertMilesToKm;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    initParams();
}

private void initParams()
{
    editText1 = (EditText)findViewById(R.id.editText1);
    editText2 = (EditText)findViewById(R.id.editText2);

    textView4 = (TextView)findViewById(R.id.textView4);
    textView6 = (TextView)findViewById(R.id.textView6);

    button1 = (Button)findViewById(R.id.button1);

    button1.setOnClickListener(new Button.OnClickListener() 
    { 
        public void onClick (View v)
        { 
            calculate(); 
        }
    });

}

private void calculate()
{
    miles = Double.parseDouble(editText1.getText().toString());
    liters = Double.parseDouble(editText2.getText().toString());

    convertMilesToKm = miles * 1.61;
    result = 100 * liters / convertMilesToKm;

    textView6.setText(Double.toString(convertMilesToKm));
    textView4.setText(Double.toString(result));         
}

}


共 (2) 个答案

  1. # 1 楼答案

    你可以试着手动操作

    //This is just an example
    double number = result;  //result is YOUR variable (ex. result = 23.1231231241920312)
    int tmp = number * 100;   //2312.31231241920312
    number = (double)tmp / 100;  //23.12
    

    希望这有帮助

    注意:如果在另一行声明INT,可以跳过这一步

    更新:使用此方法的优点是,不需要创建速度更快的对象,但当然有很多方法

  2. # 2 楼答案

    你可以这样做:

    String str = String.format("%.2f", 3.99999);
    textView.setText(str);