0
我正在使用Swift的Decimal
类型,试图确保用户输入的String
是有效的Decimal
。为什么Swift Decimal从包含字母的字符串中返回数字?
我有两个String
值,每个包括一个字母,在我的Playground文件中。其中一个值在开始时包含一个字母,而另一个在结尾处包含一个字母。我使用每个值初始化一个Decimal
,并且只有一个Decimal
初始化失败;使用包含开头字母的值初始化Decimal
。
为什么Decimal
使用最后包含字母的值进行初始化会返回有效的Decimal
?我希望返回nil
。
附件是我的Playground文件的屏幕截图。
唯一值得注意的例外是使用科学记数法; 'e +'不会终止数字,例如('12.21e + 03')将是一个有效的字符串,可以舍去到'12210' ... –