-2

我有一个用户输入的edittext字段。用户最多可以输入十位数字。单击按钮时,我需要以双精度显示该数字的日志 [数学日志] 值。

我在下面显示。
如果我输入 xxxxxxxxxx [将此视为数字]
输出必须看起来像这样 yy.yy。

package com.example.logvalue;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Main extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
      EditText edit = (EditText) findViewById(R.id.editText1);
      final int noo = Integer.parseInt(edit.getText().toString());
       Button b1 = (Button) findViewById(R.id.button1);
        b1.setOnClickListener(new OnClickListener() {
            public void onClick(View arg0) {
        Toast.makeText(Main.this, String.format("%.2f", Math.log10(noo)) , Toast.LENGTH_LONG).show();
            }
        });



    }


}
4

1 回答 1

1

使用String.format("%.2f", Math.log10(number))语法。String 类正好有这种格式功能。

我假设您想要以 10 为底的对数。

解释:是来自 C++String.format的传统的 Java 等价物。printf符号表示要从参数列表中获取某些内容%,点表示我们要指定小数位数,因此我们在该点之后放置一个 2。希望我有所帮助。

于 2013-08-07T13:48:27.880 回答