首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Swift十进制从包含字母的字符串返回数字?

为什么Swift十进制从包含字母的字符串返回数字?
EN

Stack Overflow用户
提问于 2017-06-03 02:56:21
回答 1查看 211关注 0票数 0

我正在使用Swift的Decimal类型,试图确保用户输入的String是有效的Decimal

我在我的游乐场文件中有两个String值,每个值包括一个字母。其中一个值在开头包含一个字母,而另一个在末尾包含一个字母。我使用每个值初始化一个Decimal,只有一个Decimal初始化失败;在开头包含字母的值中初始化的Decimal

为什么使用末尾包含一个字母的值初始化的Decimal返回一个有效的Decimal?我希望nil会被返回。

附上的是我的游乐场文件的截图。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-03 03:31:19

它是这样工作的,因为Decimal接受字母之前的任何数字值。这些字母充当后面任何数字的终止符。所以在你的例子中:

代码语言:javascript
运行
复制
12a = 12   ( a is the terminator in position 3 )
a12 = nil  ( a is the terminator in position 1 )

如果希望两者都无效,如果字符串包含一个字母,则可以使用Float

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44339789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档