iOS中部分单位转换
2021-08-13 本文已影响0人
浅_若清风
obd数据流中遇到的几个单位换算
- "公里/小时(km/h)" 转"英里/小时(MPH)":1英里 = 1.609公里
- "摄氏度(℃)" 转"华摄度(℉)":1 摄氏度 = 33.8 华氏度
- "磅力/平方英寸(PSI)" 转"千帕(kPa)":1磅力/平方英寸 = 6.895千帕
- "英寸水柱(inH2O)" 转"帕(Pa)":1英寸水柱 = 249.082帕
以下为项目代码里封装好的方法:
unitStr为需要转换成的单位,resultf为当前单位的值,magnifi为unitStr下的值
//单位切换后的结果
+ (CGFloat)unitMagnification:(NSString *)unitStr Result:(CGFloat)resultf
{
CGFloat magnifi = resultf;
if ([unitStr isEqualToString:@"km/h"])
{
magnifi = resultf / 1.609;
}
else if ([unitStr isEqualToString:@"℃"])
{
magnifi = (resultf - 32) / 1.8;
}
else if ([unitStr isEqualToString:@"kPa"])
{
magnifi =resultf / 6.895;
}
else if ([unitStr isEqualToString:@"帕"])
{
magnifi = resultf / 249.082;
}
else if ([unitStr isEqualToString:@"MPH"])
{
magnifi = 1.609 * resultf;
}
else if ([unitStr isEqualToString:@"℉"])
{
//摄氏度转换不同转华摄氏度+32
magnifi = resultf * 1.8 + 32;
}
else if ([unitStr isEqualToString:@"PSI"])
{
magnifi = 6.895*resultf;
}
else if ([unitStr isEqualToString:@"inH2O"])
{
magnifi = 249.082 *resultf;
}
return magnifi;
}