Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift入门(九)——String与Int、Double、Float等数字相互转换大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

Swift的三种转换模式 在Swift里面,Int、float、double等数字类型自成一派,但它们和String类型之间的转换总是不太方便这里总结一下它们相互转换的方法。总结下来一共有三种转换模式,分别举例说明。 一、String转数字 这里以String类型转Int类型为例。String转其他的数字类型(Float、Double等)大同小异。主要用到的方法是String类型的toInt方法

Swift的三种转换模式

在Swift里面,Int、float、double等数字类型自成一派,但它们和String类型之间的转换总是不太方便这里总结一下它们相互转换的方法。总结下来一共有三种转换模式,分别举例说明。

一、String转数字

这里以String类型转Int类型为例。String转其他的数字类型(Float、Double等)大同小异。主要用到的方法String类型的toInt方法。注意这个方法返回的是Int?,即一个整数可选类型。所以需要解封。

var String = "1234"
var n:Int = 0
if let number = String.toInt(){
    n = number
}

这样就得到了值为1234的的Int类型变量n。其实一开始我曾经想过,如果n没有值(也就是说还没有被赋值为0),解封又失败了,那么println(n)的结果会是什么呢,认为0么?

不过仔细思后发现,这种情况是不可能发生的。Swift是不会允许我们使用一个还没有初始化的变量的。否则编译器会报错:

有点扯远了,当然也可直接使用

var n = String.toInt()!

不过强烈不建议这么用。即使你非常确定String一定是可以转成Int的。

二、数字转String

这里以Double类型转换String为例。比较一种简单的写法如下:

var number = 123.5
var String = "\(number)"

这样就得到了值为”123.5”的String类型变量String。不过如果要写成一个方法,使得number作为参数传递进来的话,这种简写就不行了。我们可以利用String类型的初始化方法

var number = 123.5
var String = String(StringInterpolationSegment: number)

之所以拿Double类型来写是因为,如果number是Int类型,直接调用String(number)即可生成一个String类型的变量,而现在的number是Double类型,所以需要显式的加上外部变量名StringInterpolationSegment。这种写法对于Int类型依然成立,不过稍显麻烦,不过少了这个外部变量名,就无法将Double转为String了。

个人比较推荐第二种写法。

三、数字之间互转

了解数字和String如何转换之后,最后看一下最简单的数字类型之间的互转。这里以Double转Int为例。

和C、Java、OC等语言类似,可以使用强制类型转换的方式:

var doublenumber = 1.8
var intnumber = 0
intnumber = Int(doublenumber)
println(intnumber)

这里的输出结果是1.也就是说doublenumber不是四舍五入,而是精度丢失了。

或者使用严谨一点的构造方法来写:

var doublenumber = 1.8
var intnumber = 0
intnumber = Int(doublenumber)
println(intnumber)

输出结果依然是1

附录

查看完整专栏——《Swift轻松入门》

【Swift入门(一)——基本语法】
【Swift入门(二)——字符与字符串】
【Swift入门(三)——元组(Tuple)】
【Swift入门(四)——可选类型(Optionals)与断言(Assert)】
【Swift入门(五)——数组(Array)】
【Swift入门(六)——字典(Dictionary)】
【Swift入门(七)——结构体(Struct)】
【Swift入门(八)——功能强大的求余运算符】
【Swift入门(九)——String与Int、Double、Float等数字相互转换】
【Swift入门(十)——循环引用、弱引用和无主引用】
【Swift入门(十一)——类型转换与is、as操作】
【Swift入门(十二)——利用Extension添加逆序输出字符串方法】

大佬总结

以上是大佬教程为你收集整理的Swift入门(九)——String与Int、Double、Float等数字相互转换全部内容,希望文章能够帮你解决Swift入门(九)——String与Int、Double、Float等数字相互转换所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。