相关文章推荐
英俊的跑步机  ·  天坑!python【numpy.int64和 ...·  1 月前    · 
曾经爱过的吐司  ·  VBA中对workbook、workshee ...·  8 月前    · 
热心肠的钱包  ·  【nodejs-BUFFER已弃用】_new ...·  9 月前    · 
害羞的松树  ·  在Excel中,根据当前年份使用VBA编写动 ...·  1 年前    · 
豪气的眼镜  ·  打包用于 COM 的 .NET ...·  1 年前    · 
文质彬彬的领结  ·  Unity AR Ⅰ - 知乎·  1 年前    · 
Code  ›  swift如何将Decimal类型转换为String类型开发者社区
string 类型转换
https://cloud.tencent.com/developer/ask/sof/153832
任性的盒饭
1 年前
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
提问
问 swift如何将Decimal类型转换为String类型
Stack Overflow用户
提问于 2017-08-10 18:02:42
EN

如何在swift中将 Decimal 转换为 String ?

例如

let de = Decimal(string: "123")

然后如何将 de 转换为String。

4 17.4K 0 票数 8
EN
swift
decimal

回答 4

Stack Overflow用户

发布于 2018-08-08 09:03:30

利用十进制符合 CustomStringConvertible 协议这一事实,我会简单地这样做:

let decimalString = "\(de)"
票数 12
EN

Stack Overflow用户

发布于 2018-04-21 02:25:42

转换为NSDecimalNumber并使用stringValue。

NSDecimalNumber(decimal: de).stringValue

票数 4
EN

Stack Overflow用户

发布于 2017-08-10 18:24:00

使用 NSNumberFormatter 解析您的输入。将其 generatesDecimalNumbers 属性设置为true:

let formatter = NumberFormatter()
formatter.generatesDecimalNumbers = true

下面是你如何使用它,如果你想在字符串不能被解析时返回0:

func decimal(with string: String) -> NSDecimalNumber {
    return formatter.number(from: string) as? NSDecimalNumber ?? 0
decimal(with: "80.00")
// Result: 80 as an NSDecimalNumber

默认情况下,格式化程序将查看设备的区域设置以确定小数标记。你应该让它保持原样。出于示例的目的,我将其强制转换为法语地区:

// DON'T DO THIS. Just an example of behavior in a French locale.
formatter.locale = Locale(identifier: "fr-FR")
 
推荐文章
英俊的跑步机  ·  天坑!python【numpy.int64和int类型转换】
1 月前
曾经爱过的吐司  ·  VBA中对workbook、worksheet、range的选择和操作_草爷_新浪博客
8 月前
热心肠的钱包  ·  【nodejs-BUFFER已弃用】_new buffer已弃用-CSDN博客
9 月前
害羞的松树  ·  在Excel中,根据当前年份使用VBA编写动态下拉菜单
1 年前
豪气的眼镜  ·  打包用于 COM 的 .NET Framework 程序集 - .NET Framework | Microsoft Learn
1 年前
文质彬彬的领结  ·  Unity AR Ⅰ - 知乎
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号