我有一个用户输入的edittext字段。用户可以输入最多十位数的值。当点击按钮时,我需要以双精度显示该数字的log [数学日志]值。
我在下面展示。
如果我输入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();
}
});
}
}
答案 0 :(得分:1)
使用String.format("%.2f", Math.log10(number))
语法。
String类具有这种格式功能。
我假设你想要以10为基数的对数。
说明:String.format
是来自C ++的传统printf
的Java-equavalient。 %
符号表示从参数列表中取出某些内容,该点意味着我们要指定小数位数,因此我们在该点之后放置2。
希望我帮忙。