Swift

swift下float转string,如何控制精度

2020-07-21  本文已影响0人  本帅不良

上代码

let formatter = NumberFormatter.init()
formatter.maximumFractionDigits = 1
formatter.minimumFractionDigits = 0
let sizeStr = formatter.string(from: NSNumber.init(value: size)) ?? "0"

可以看出,我们使用NumberFormatter来控制精度,分别设置了最大、最小精度。
然后使用formatter.string(from: )方法得到字符串。
效果如下图:

57BC80D66A0B964EF454FB97B721FD85.jpg

注意:"B","K","M"是工程中的单位,此处代码未体现。

可以看出,此方法相对OC的优点在于:能灵活控制精度,而不会像OC一样,无论是否需要,始终精确到固定的小数点位数。

Objective-C实现

NSString *sizeStr = [NSString stringWithFormat:@"%.1f",size];

%.1f表示精确到小数点后一位。

引申

OC中应该也有NumberFormatter类,有兴趣的可以查看苹果官方文档。

上一篇 下一篇

猜你喜欢

热点阅读