Swift 中的字符串插值

2023-11-23

swift 中的函数采用 Swift 中的任何数字类型(Int、Double、Float、UInt 等)。 该函数将数字转换为字符串

函数签名如下:

func swiftNumbers <T : NumericType> (number : T) -> String {
    //body
}

数字类型是一个自定义协议,已添加到 Swift 中的数字类型。

在函数体内,数字应转换为字符串:

我使用以下

var stringFromNumber = "\(number)"

这不是那么优雅,另外:如果数字的绝对值严格低于 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) 表示字符串是由常量、变量、文字或表达式的混合创建的。

Example:

let length:Float = 3.14
var breadth = 10
var myString = "Area of a rectangle is length*breadth"
myString = "\(myString) i.e. = \(length)*\(breadth)"    

Output:

3.14
10
Area of a rectangle is length*breadth
Area of a rectangle is length*breadth i.e. = 3.14*10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 中的字符串插值 的相关文章

随机推荐

  • 在JS中从ids自动创建变量? [复制]

    这个问题在这里已经有答案了 就在今天 经过几年的 JavaScript 编程 我遇到了一些让我震惊的事情 浏览器为每个具有 id 的元素创建对象 对象的名称将与 id 匹配 所以如果你有 div div 你可以做 alert box obj
  • Obj-C 2.0 中合成原子 @properties 的锁定细节

    Obj C 2 0 中的属性文档说原子属性在内部使用锁 但没有记录锁的细节 有谁知道这是一个按属性锁 一个与 synchronized self 使用的隐式锁分开的按对象锁 还是 synchronized self 的等效项 查看生成的代码
  • 每个用户的 Firebase 文档?

    我想知道如何在每个用户创建帐户 使用 Firebase Web 时为他们制作一个文档 我启用了 Firebase 身份验证并正在运行 我希望每个用户都可以在 Cloud Firestore 中名为 users 的集合中拥有一个文档 我如何获
  • 日期错误异常

    我正在尝试使用 java 在 sql 中输入 1900 年的日期 但出现异常 com mysql jdbc MysqlDataTruncation Data truncation Incorrect datetime value 1900
  • 如何使用 C 找到应用程序包 (NSBundle) 中文件的路径?

    是否有 C API 用于查找应用程序包中文件的路径 我知道这可以在 Objective C 中使用以下语法来完成 NSString path NSBundle mainBundle pathForResource MyImage ofTyp
  • Android短屏亮度代码!

    谁知道为什么这段代码不会降低我的应用程序的背光 Context context this Settings System putInt context getContentResolver Settings System SCREEN BR
  • 将事件添加到 CalendarView

    我认为这个问题说明了一切 是否可以在 Android 默认情况下显示事件CalendarView 我知道它是为小部件而不是真正的日历应用程序制作的 但我的应用程序不应该是日历应用程序 这只是我的应用程序中的一个小功能 所以我认为视图非常适合
  • C++ 的 std::string 池、调试版本? std::string 和 valgrind 问题

    我遇到了许多关于 std string 中可能存在内存泄漏的 valgrind 警告的问题 如下所示 120 bytes in 4 blocks are possibly lost in loss record 4 192 of 4 687
  • 如何使用 iOS 版谷歌地图 sdk 获取位置的 CGPoint?

    如何使用 iOS 版谷歌地图 sdk 获取位置的 CGPoint 我需要在用户位置上添加 pinview 它基本上是相反的这个问题 例如 GMSMapView mapView CLLocationCoordinate2D coordinat
  • 通过 ADO.Net 和 COM 互操作性进行 MS Access 批量更新

    这是一种后续行动这个线程 这都是与 Net 2 0 至少对我来说 本质上 Marc 上面的 OP 尝试了几种不同的方法来更新包含 100 000 条记录的 MS Access 表 并发现使用 DAO 连接大约是快 10 30 倍与使用 AD
  • 对于从事 Drupal 项目的小型分布式团队来说,最佳实践是什么?

    经过一番研究 我们选择在下一个项目中与 Drupal 合作 我们是一个分布式团队 由于 Drupal 将所有内容存储在数据库中 基于我们到目前为止所看到的 作为一个分布式团队 我们如何才能在这个项目上协同工作 我们应该采取哪些最佳实践 我们
  • Qt moveToThread() 与调用新线程何时使用每个

    我们什么时候在线程应用程序中使用每个函数调用 给定在同一类中定义的两个函数 fun1 和 fun2 处理数据读 写到缓冲区 队列操作 来实现多线程这些 我们必须在单独的线程中运行这两个函数 现在假设第一个函数 read 在其线程开始时被调用
  • 在 python 中运行 AppleScript 时“不允许用户交互”

    我有苹果脚本 它将显示菜单列表并允许用户选择菜单项等 它本身运行良好 现在我尝试在 python 中运行它 我收到不允许用户交互的消息 1713 错误 我上网查了一下 我尝试了以下方法 在同一个 applescript 中添加 run 函数
  • 错误 TS2339:类型“Observable”上不存在属性“catchError”

    这是我在 book service ts 中的代码 import Injectable from angular core import Http Response from angular http import Observable f
  • 在asp.net MVC中不使用@HTML.Beginform并使用Jquery(ajax)发布表单

    如何在不使用 HTML Beginform 并使用 JQuery Ajax 的情况下填写表单 现在我尝试过 var postData form1 username form2 password ajax type POST url Cont
  • IEnumerable.Last() 是否针对 List 进行了优化?

    我有一个List
  • 查找图中的最小割边

    给定一个随机无向图 我必须找到 瓶颈边 编辑 最小切割边 才能从一个顶点到达另一个顶点 我所说的 瓶颈边缘 编辑 最小切割边缘 假设我有以下无向图 A B C D E F G H 为了从 A 到 H 独立于所选路径边 必须始终遍历 BE 和
  • python 中的会话身份验证

    使用来自的会话requestspython 中的模块 似乎会话仅在第一个请求时发送授权 我不明白为什么会发生这种情况 import requests session requests Session session auth u user
  • 为什么点符号只能引用表格?

    这似乎是一个简单的初学者问题 但我无法在任何地方找到答案 假设我有这样的 HTML
  • Swift 中的字符串插值

    swift 中的函数采用 Swift 中的任何数字类型 Int Double Float UInt 等 该函数将数字转换为字符串 函数签名如下 func swiftNumbers