java - 如何获得用户友好的正弦函数值?

标签 java android calculator trigonometry

我正在开发一个 Android 计算器应用程序,它可以计算三角函数。

我的问题是“如何让计算器显示正弦函数的正确值?” IE。; Sin 90° = 1,但它显示的是 Sin 90° = 0.893996663600 的值。我正在使用 Eclipse 来制作这个应用程序。

这是我的正弦函数代码:

ImageButton btnSin;
TextView txtDisplay;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnSin = (ImageButton) findViewById(R.id.btnSin);
    txtDisplay = (TextView) findViewById(R.id.txtDisplay);

    btnSin.setOnClickListener(this);

}

Double total = 0.0;

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

if (v.getId() == R.id.btnSin) {
    if (txtDisplay.getText().equals("")) {
        txtDisplay.setText("");
    }
    else {
        total = Math.sin(Double.parseDouble(txtDisplay.getText().toString()));
        txtDisplay.setText("");
        txtDisplay.setText(txtDisplay.getText().toString() + total);
    }
}

最佳答案

Math.sin() 需要一个以弧度为单位的参数,以便您可以使用

Math.sin(Math.toRadians(Double.parseDouble(txtDisplay.getText().toString())));

如果您需要以相反的方式进行转换

Math.toDegrees(double radians)

公式为:

radians = degrees * (π/180)
degrees = radians * (180/π)

关于java - 如何获得用户友好的正弦函数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25350272/

相关文章:

java - 整理计算器界面

Java 游戏引擎

Java条形图方法

java - 使用 Jsoup/Selenium 从网站获取 "::before"标签后的数字数据

卡西欧计算器编程

c# - 计算器c#中的小数点

java - 原始值的映射替代

android - overridePendingTransition 显示第二个 Activity 太快

android - FLAG_LAYOUT_NO_LIMITS 用于自定义状态栏使导航栏重叠

android - 如何使用 API 从 flutter 插件启动 Activity