使用swift转换英尺/英寸[复制](Convert feet/inches using swift [duplicate])

系统教程 行业动态 更新时间:2024-06-14 17:02:17
使用swift转换英尺/英寸[复制](Convert feet/inches using swift [duplicate])

这个问题在这里已有答案:

对于泛型函数,Type应采用什么协议来将任何数字类型作为Swift中的参数? 2个答案

我刚开始学习swift,我正试图用swift转换英尺/英寸。 下面是我写的代码。

func feetToInchesInt(feet:Int) -> Double { return Double(feet*12) } func feetToInchesDouble(feet:Double) -> Double { return feet*12 } func feetToInchesFloat(feet:Float) -> Float { return feet*12 } func InchesToFeetInt(inches:Int) -> Double { return Double(inches/12) } func InchesToFeetDouble(inches:Double) -> Double { return inches/12 } func InchesToFeetFloat(inches:Double) -> Double { return inches/12 }

现在,我想用两个泛型替换这些函数。 我尝试了很多,但无法搞清楚。 下面是我被困的地方。 请帮忙。

func feetToInches<T>(feet:T) -> Double { return feet*12 } func inchesToFeet<T>(inches:T) -> Double { return inches/12 } print(feetToInches(10))

This question already has an answer here:

What protocol should be adopted by a Type for a generic function to take any number type as an argument in Swift? 2 answers

I just started learning swift, and I'm trying to convert feet/inches using swift. Below is the code i wrote.

func feetToInchesInt(feet:Int) -> Double { return Double(feet*12) } func feetToInchesDouble(feet:Double) -> Double { return feet*12 } func feetToInchesFloat(feet:Float) -> Float { return feet*12 } func InchesToFeetInt(inches:Int) -> Double { return Double(inches/12) } func InchesToFeetDouble(inches:Double) -> Double { return inches/12 } func InchesToFeetFloat(inches:Double) -> Double { return inches/12 }

Now, i want to replace those functions with two generics. I tried many but can't figure out. Below is where i got stuck. Please help.

func feetToInches<T>(feet:T) -> Double { return feet*12 } func inchesToFeet<T>(inches:T) -> Double { return inches/12 } print(feetToInches(10))

最满意答案

对于你的泛型类,为什么不使用Double呢? 当您为函数提供Int和Float时,它可以工作。

来自iOS开发者网站:

Double的精度至少为15位十进制数,而Float的精度可以小至6位十进制数。 要使用的适当浮点类型取决于您在代码中使用的值的性质和范围。 在任何一种类型都适合的情况下,Double是首选。

那么你的通用代码就是:

func feetToInches(feet: Double) -> Double { return inches * 12 } func inchesToFeet(inches: Double) -> Double { return inches / 12 }

For your generic class why not just use a Double? It works when you give the function both an Int and a Float.

From the iOS Developer Website:

Double has a precision of at least 15 decimal digits, whereas the precision of Float can be as little as 6 decimal digits. The appropriate floating-point type to use depends on the nature and range of values you need to work with in your code. In situations where either type would be appropriate, Double is preferred.

Then your generic code would just be:

func feetToInches(feet: Double) -> Double { return inches * 12 } func inchesToFeet(inches: Double) -> Double { return inches / 12 }

更多推荐

本文发布于:2023-04-21 18:27:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/dzcp/ab58c7480f6b235011db3e26990816d9.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Convert   swift   feet   duplicate   inches

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!