相关文章推荐
谈吐大方的镜子  ·  uniapp监听页面离开返回上一级实现数据刷 ...·  1 年前    · 
玩手机的投影仪  ·  评论--科幻--中国作家网·  2 年前    · 
坐怀不乱的山羊  ·  java重定向html java web ...·  2 年前    · 
冲动的野马  ·  Foreground Services - ...·  2 年前    · 
大力的山羊  ·  错误码与故障诊断 | PingCAP 文档中心·  2 年前    · 
Code  ›  swift如何将Decimal类型转换为String类型开发者社区
string 类型转换
https://cloud.tencent.com/developer/ask/sof/153832
任性的盒饭
2 年前
首页
学习
活动
专区
工具
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")
 
推荐文章
谈吐大方的镜子  ·  uniapp监听页面离开返回上一级实现数据刷新-腾讯云开发者社区-腾讯云
1 年前
玩手机的投影仪  ·  评论--科幻--中国作家网
2 年前
坐怀不乱的山羊  ·  java重定向html java web 重定向_archangle的技术博客_51CTO博客
2 年前
冲动的野马  ·  Foreground Services - Xamarin | Microsoft Learn
2 年前
大力的山羊  ·  错误码与故障诊断 | PingCAP 文档中心
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号