-2

ユーザー入力用の edittext フィールドがあります。ユーザーは最大 10 桁の数値を入力できます。ボタンをクリックすると、その数値の対数 [数学ログ] 値を倍精度で表示する必要があります。

以下に示したもの。
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 に答える