Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift中的字符串插值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

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

大佬总结

以上是大佬教程为你收集整理的Swift中的字符串插值全部内容,希望文章能够帮你解决Swift中的字符串插值所遇到的程序开发问题。

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

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