加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – Obj-C计算器 – 弧度到度

发布时间:2020-12-16 10:29:32 所属栏目:百科 来源:网络整理
导读:我一直在看斯坦福CS193P讲座,我一直在研究作业计算器.我很轻松地完成了第一项任务,现在我正在努力为任务做额外的工作.然而,我被困在一个额外的信用问题上: 实现一个用户界面,用于选择sin()或cos()的操作数是否为 考虑弧度或度数.当您在C库中调用sin(x)时,假
我一直在看斯坦福CS193P讲座,我一直在研究作业计算器.我很轻松地完成了第一项任务,现在我正在努力为任务做额外的工作.然而,我被困在一个额外的信用问题上:

实现一个用户界面,用于选择sin()或cos()的操作数是否为
考虑弧度或度数.当您在C库中调用sin(x)时,假定为x
以弧度为单位(即0到2π绕圆圈一次),但用户可能想要
输入180并按下sin按钮得到0而不是-0.8012(这是正弦值)
180弧度).您可以使用UIButton来切换titleLabel
每次按下UIButton时都会显示文本,但更好的方法是查看是否可以
通过阅读文档弄清楚如何使用UISwitch(如果你敢!).

我实现了一个UISwitch并将其作为IBOutlet连接起来.当我执行’操作’时,我检查开关是打开还是关闭,并将其传递给我的模型以及要执行的操作.在我的罪和案件中,我做了以下事情:

else if ([operation isEqual:@"sin"])
{
    if (radians) {
        operand = sin(operand);
    }
    else {
        operand = sin(operand) * (180 / M_PI);
    }

}
// similar for cos

如果弧度(它是BOOL:YES =弧度,否=度),那么我通常执行操作;如果用户将开关置于’度’,我想以度为单位返回值,因为分配说明:用户可能想要输入180并按下sin按钮并获得0而不是-0.8012(这是180的正弦值)弧度).

但是,此代码并不完全有效.当我将开关置于度数并且执行sin 180时,它返回的值大约为-45.那里出了点问题;而且我不确定是什么.我已经查找了如何进行转换,我认为我做得对,但显然没有.

我意识到这可能更适合math.stackexchange,但由于我想发布一些代码,我把它放在这里.有人可以就实施此方法的最佳方式提供一些建议吗?我已经有一段时间了,因为我甚至使用过cos或sin,弧度和度数.

谢谢!

解决方法

你在哪里定义操作数?

你确定操作数是CGFloat而不是内存地址吗?

你是如何格式化输出的?如果您使用%e,它将以科学记数法输出…尝试执行%f

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读