Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 格式加倍为字符串_Java_Android_Number Formatting - Fatal编程技术网

Java 格式加倍为字符串

Java 格式加倍为字符串,java,android,number-formatting,Java,Android,Number Formatting,可能重复: 如何列出小数点后两位的数字?我试过这个方法:但没有运气。下面是代码。也许有人能帮我 package karcio.fuel.economy; public class FuelEconomy extends Activity { private EditText editText1; private EditText editText2; private TextView textView4; private TextView textView6; pri

可能重复:

如何列出小数点后两位的数字?我试过这个方法:但没有运气。下面是代码。也许有人能帮我

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));         
}

}

您可以这样做:

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

您可以这样做:

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

你可以试着用手来做

//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,则可以跳过该步骤


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

您可以尝试手动创建

//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,则可以跳过该步骤



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

这不是特定的Android问题。这不是一个特定的安卓问题,它的缺点是你需要多个对象来完成这个简单的任务。android指南中说,你需要创建最少的对象。你无论如何都会有一个字符串对象,这是一个字符串对象。当您设置文本时,您的方法最终将创建该字符串对象。您在这一点上是正确的,但是如果您测试执行该操作的性能,与手动操作和转换为字符串相比,您将注意到差异(在一个大循环中,当然只有一个是相同的)。Tnx该方法对我有效。字符串ConvertMilesToKm=String.format(“%.0f”,ConvertMilesToKm);textView6.setText(ConvertMilesToKm);我不得不承认,你的答案比我的答案对新用户更有用,因为我必须解释数字不是硬编码的,所以我会给你一个提示。缺点是,你需要多一个对象来完成这个简单的任务。android指南中说,你需要创建最少的对象。你无论如何都会有一个字符串对象,这是一个字符串对象。当您设置文本时,您的方法最终将创建该字符串对象。您在这一点上是正确的,但是如果您测试执行该操作的性能,与手动操作和转换为字符串相比,您将注意到差异(在一个大循环中,当然只有一个是相同的)。Tnx该方法对我有效。字符串ConvertMilesToKm=String.format(“%.0f”,ConvertMilesToKm);textView6.setText(ConvertMilesToKm);我不得不承认,你的答案比我的答案对新用户更有用,因为我必须解释数字不是硬编码的,所以我会给你一个upvoteI不能手动这样做,用户必须自己输入数字。我的意思是,你手动做点(.)后两位数字的限制。Tnx,我也会尝试你的方法:)谢谢你的快速反应,我是新手,我很感激:)别担心,你最好用答案,在你阅读代码的时候更容易理解。我不能手动操作,用户必须自己输入数字。我的意思是你手动执行点(.)后两位数的限制。Tnx,我也会尝试你的方法:)谢谢你的快速反应,我是新手,我很感激:)别担心,伙计,你最好带着答案去做,在你阅读代码时更容易理解。