Swift2 Swift 2-将十进制0添加到CGFloat
我正在尝试将字符串转换为Swift2 Swift 2-将十进制0添加到CGFloat,swift2,decimalformat,cgfloat,Swift2,Decimalformat,Cgfloat,我正在尝试将字符串转换为CGFloatnumber。 如果等于0,则我的代码会删除最后一位数字 如何防止删除零 let str = "17.30" let flt = CGFloat((str as NSString).doubleValue) + 2.0 print(flt) // 19.3 -- should be 19.30 CGFloat无法执行此操作,请将浮点值转换回String print(String(format: "%.2f", flt)) // 19.30 CGFlo
CGFloat
number。
如果等于0
,则我的代码会删除最后一位数字
如何防止删除零
let str = "17.30"
let flt = CGFloat((str as NSString).doubleValue) + 2.0
print(flt) // 19.3 -- should be 19.30
CGFloat
无法执行此操作,请将浮点值转换回String
print(String(format: "%.2f", flt)) // 19.30
CGFloat
无法执行此操作,请将浮点值转换回String
print(String(format: "%.2f", flt)) // 19.30
CGFloat
只是一个数字(因此17.3
和17.30
的值是相同的);您真正关心的是如何设置CGFloat
数字的String
表示形式
作为@vadian:s解决方案的替代方案,您可以使用NSNumberFormatter
,如下所示
/* Your CGFloat example */
let str = "17.30"
let flt = CGFloat((str as NSString).doubleValue) + 2.0
/* Use NSNumberFormatter to display your CGFloat
with exactly 2 fraction digits. */
let formatter = NSNumberFormatter()
formatter.maximumFractionDigits = 2
formatter.minimumFractionDigits = 2
print(formatter.stringFromNumber(flt)!)
/* 19.30 */
CGFloat
只是一个数字(因此17.3
和17.30
的值是相同的);您真正关心的是如何设置CGFloat
数字的String
表示形式
作为@vadian:s解决方案的替代方案,您可以使用NSNumberFormatter
,如下所示
/* Your CGFloat example */
let str = "17.30"
let flt = CGFloat((str as NSString).doubleValue) + 2.0
/* Use NSNumberFormatter to display your CGFloat
with exactly 2 fraction digits. */
let formatter = NSNumberFormatter()
formatter.maximumFractionDigits = 2
formatter.minimumFractionDigits = 2
print(formatter.stringFromNumber(flt)!)
/* 19.30 */
适用于swift 4 尝试在
格式中使用NumberFormatter
。十进制
格式:
让text=“123456.789”
适用于swift 4 尝试在
格式中使用NumberFormatter
。十进制
格式:
让text=“123456.789”
您是想保留字符串中最初使用的精度(小数位数),还是总是想用2个小数格式化结果?我想总是用2个小数格式化结果decimals@SNos如果要将数字转换为字符串,请使用
NSNumberFormatter
。是否要保持精度(小数位数)最初在字符串中使用,还是您总是希望用2个小数格式化结果?我正在尝试总是用2个小数格式化结果decimals@SNos如果要将数字转换为字符串,请使用NSNumberFormatter
??“
在这种情况下没有什么意义,您希望在转换失败时引发异常(因为它永远不会发生),而不是默默地接受它。我会使用!
@Sulthan您是对的;源于我的(这里:可能不好)习惯于在回答SO问题时避免使用!
,以免误导他人在不太合适的情况下使用!
展开包装。有了这两条评论,希望这里不会出现这种情况,感谢您指出这一点!??“
在这种情况下没有什么意义,您希望在转换失败时引发异常(因为它永远不会发生),而不是默默地接受它。我会使用!
@Sulthan您是对的;源于我的(这里:可能不好)习惯于在回答SO问题时避免使用!
,以免误导他人在不太合适的情况下使用!
展开包装。有了这两条评论,希望这里不会出现这种情况,感谢您指出这一点!