Swift中的字符串插值
发布时间:2020-12-14 04:49:58 所属栏目:百科 来源:网络整理
导读:swift中的函数采用 Swift中的任何数字类型(Int,Double,Float,UInt等). 该函数将数字转换为字符串 功能签名如下: func swiftNumbers T : NumericType (number : T) - String { //body} NumericType是一种自定义协议,已添加到Swift中的数字类型中. 在函数体内
swift中的函数采用
Swift中的任何数字类型(Int,Double,Float,UInt等).
该函数将数字转换为字符串 功能签名如下: 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 Foundation let number : NSNumber = 9_999_999_999_999_997 let formatter = NumberFormatter() formatter.minimumFractionDigits = 20 formatter.minimumIntegerDigits = 20 formatter.minimumSignificantDigits = 40 formatter.string(from: number) // "9999999999999996.000000000000000000000000" let stringFromNumber = String(format: "%20.20f",number) // "0.00000000000000000000" 解决方法
Swift字符串插值
1)为字符串添加不同的类型 2)表示字符串是由常量,变量,文字或表达式的混合创建的. 例: let length:Float = 3.14 var breadth = 10 var myString = "Area of a rectangle is length*breadth" myString = "(myString) i.e. = (length)*(breadth)" 输出: 3.14 10 Area of a rectangle is length*breadth Area of a rectangle is length*breadth i.e. = 3.14*10 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |