Swift中的字符串插值

Swift中的字符串插值,第1张

概述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 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中的字符串插值所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1010579.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存