
该函数将数字转换为字符串
功能签名如下:
func swiftNumbers <T : NumericType> (number : T) -> String { //body} NumericType是一种自定义协议,已添加到Swift中的数字类型中.
在函数体内,该数字应转换为字符串:
我使用以下内容
var stringFromNumber = "\(number)"
这不是那么优雅,PLUS:如果数字的绝对值严格低于0.0001则给出:
"\(0.000099)" //"9.9e-05"
或者如果数字是一个大数字:
"\(999999999999999999.9999)" //"1e+18"
有没有办法解决这个字符串插值限制? (不使用Objective-C)
P.S:
NumberFormater也不起作用
import Foundationlet number : NSNumber = 9_999_999_999_999_997let formatter = NumberFormatter()formatter.minimumFractionDigits = 20formatter.minimumIntegerDigits = 20formatter.minimumSignificantDigits = 40formatter.string(from: number) // "9999999999999996.000000000000000000000000"let stringFromNumber = String(format: "%20.20f",number) // "0.00000000000000000000"解决方法 Swift字符串插值
1)为字符串添加不同的类型
2)表示字符串是由常量,变量,文字或表达式的混合创建的.
例:
let length:float = 3.14var breadth = 10var myString = "Area of a rectangle is length*breadth"myString = "\(myString) i.e. = \(length)*\(breadth)"
输出:
3.1410Area of a rectangle is length*breadthArea of a rectangle is length*breadth i.e. = 3.14*10总结
以上是内存溢出为你收集整理的Swift中的字符串插值全部内容,希望文章能够帮你解决Swift中的字符串插值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)