美文网首页iOS开发技术
iOS开发:App显示温度的时候,摄氏度和华氏度相互转换(为了适

iOS开发:App显示温度的时候,摄氏度和华氏度相互转换(为了适

作者: iOS大咖 | 来源:发表于2018-04-10 21:56 被阅读0次

   由于业务需要,最近在开发过程中遇到了摄氏度和华氏度之间的转换情况,查了网上没有相关例子,就分享一下。我们的需求是这样的,在App的配置页面需要展示温度的单位,但是由于业务关系需要在美国销售,所以要迎合美国市场,又要兼容其他地方(全球百分之九十的地方都是用的摄氏度来作为温度单位),这就需要做一个温度单位的转换,都知道美国是个独立的国度,他们使用的显示单位都是“华”开头的,比如:华氏度、华里。。。那么接下来介绍一下App是怎么转换单位的。

在这里我还是要推荐下我自己建的iOS开发学习群:680565220,群里都是学ios开发的,如果你正在学习ios ,小编欢迎你加入,今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有iOS软件开发相关的),包括我自己整理的一份2018最新的iOS进阶资料和高级开发教程

       首先,要知道的是摄氏度和华氏度之间的转换公式,只要知道了这个固定的转换公式,就成功了三分之一,具体的摄氏度和华氏度转换公式为:℃ = (℉ - 32) / 1.8 (华氏度转摄氏度);℉ = ℃ * 1.8 + 32 (摄氏度转华氏度)。

       接下来就是进行具体的转换操作了,这里我用一个方法来处理摄氏度和华氏度之间的转换,具体如下所示:

- (CGFloat)temperatureUnitExchangeValue:(CGFloat)value changeTo:(TemperatureUnit)unit { //温度单位转换方法  

    if (unit == Fahrenheit) {  

        return 32 + 1.8 * value; //华氏度  

    }else {  

        return (value - 32) / 1.8; //摄氏度  

    }  

}  

      然后在切换按钮的点击事件里面,根据滑动选择来改变具体的数值,具体如下所示:

//切换温度按钮的点击事件  

- (IBAction)titleBtnClick:(UIButton *)sender {  

    //点击的切换的事件  

    if (!sender.isSelected) {  

        _temperatureUnit = Fahrenheit;  

    }else {  

        //摄氏温度  

        _temperatureUnit = CentigradeDegree;  

    }  

    sender.selected = !sender.selected;  

    _itemModel.minValue = [self temperatureUnitExchangeValue:_itemModel.minValue changeTo:_temperatureUnit]; //调用温度单位转换方法  

    _itemModel.maxValue = [self temperatureUnitExchangeValue:_itemModel.maxValue changeTo:_temperatureUnit];  

    _itemModel.temperatureUnit = _temperatureUnit;  

    [self theValue:_itemModel];//重新设置显示  

    [self progressView:self.progressView didEndChangedProgress:_currentProgress];  

}  

       通过以上简单处理,就可以实现简单的温度单位切换,具体效果如下图所示:

        剩余代码就不再一一贴出来了,如有需要具体代码,可以直接联系我,然后随时提供给有需要的同行。

        总结一下转换过程,其实关键步骤就两步:第一步是设置好摄氏度和华氏度之间的转换公式;第二步在具体使用场景里面调用这个转换公式。虽然步骤很简单,但是很实用,希望可以给有需要的人带来帮助。

相关文章

  • iOS开发:App显示温度的时候,摄氏度和华氏度相互转换(为了适

    由于业务需要,最近在开发过程中遇到了摄氏度和华氏度之间的转换情况,查了网上没有相关例子,就分享一下。我们的需求是这...

  • 温度转换

    摄氏度(Celsius)和华氏度(Fabrenheit)相互转换。 转换算法如下:(C表示摄氏度、F表示华氏度) ...

  • Code_TempConvert

    编写一个摄氏度和华氏度相互转换的小程序。 下面是代码部分:

  • 温度转换 II

    温度转换 II 描述 温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fabrenheit)。 请编写...

  • C语言-数据类型转换,if和switch使用

    华氏度和摄氏度之间的转换 //C=(F-32)*5/9//问题:从键盘输入一个华氏温度,将其转换为对应的摄氏温度,...

  • 第二章:Python程序实例解析

    a、温度转换程序实例 温度刻画存在不同体系:摄氏度、华氏度 步骤1:分析问题的计算部分:采用公式转换方式解决计算问...

  • js重学1

    一、华氏度与摄氏度转换 var degreeF = 68;//华氏度var degreeC = 0;//摄氏度de...

  • 常见制冷计算公式大全!

    1 温度的换算 先从最简单的开始——温度换算 摄氏度(C)与华氏度(F) 华氏度 = 32 + 摄氏度 × 1.8...

  • 第三章条件的习题

    习题3.1 编写一个程序,首先给用户以下两种选择:(1)将温度从摄氏度转换为华氏度。(2)将温度从华氏度转化为摄氏...

  • C入门简单罗列的知识点

    第二个小程序 摄氏度 与 华氏温度对 转化 转换公式: 摄氏度 = 5*(华氏度-32)/9 //将摄氏...

网友评论

    本文标题:iOS开发:App显示温度的时候,摄氏度和华氏度相互转换(为了适

    本文链接:https://www.haomeiwen.com/subject/gzhohftx.html