Fre*_*ust 24 nsnumberformatter swift
我正在使用Swift
let myDouble = 8.5 as Double
let percentFormatter = NSNumberFormatter()
percentFormatter.numberStyle = NSNumberFormatterStyle.PercentStyle
percentFormatter.multiplier = 1.00
let myString = percentFormatter.stringFromNumber(myDouble)!
println(myString)
Run Code Online (Sandbox Code Playgroud)
输出8%而不是8.5%,我怎么能输出8.5%?(但最多只有2位小数)
zis*_*oft 36
要设置小数位数,请使用:
percentFormatter.minimumFractionDigits = 1
percentFormatter.maximumFractionDigits = 1
Run Code Online (Sandbox Code Playgroud)
根据您的需求设置最小值和最大值.应该是不言自明的.
在Swift 5中,NumberFormatter有一个名为的实例属性minimumFractionDigits。minimumFractionDigits具有以下声明:
var minimumFractionDigits: Int { get set }
Run Code Online (Sandbox Code Playgroud)
接收器允许作为输入和输出的小数点分隔符之后的最小位数。
NumberFormatter也有一个名为的实例属性maximumFractionDigits。maximumFractionDigits具有以下声明:
var maximumFractionDigits: Int { get set }
Run Code Online (Sandbox Code Playgroud)
接收器允许作为输入和输出的小数点分隔符之后的最大位数。
以下Playground代码显示了使用时如何使用minimumFractionDigits和maximumFractionDigits设置小数点分隔符后的位数NumberFormatter:
import Foundation
let percentFormatter = NumberFormatter()
percentFormatter.numberStyle = NumberFormatter.Style.percent
percentFormatter.multiplier = 1
percentFormatter.minimumFractionDigits = 1
percentFormatter.maximumFractionDigits = 2
let myDouble1: Double = 8
let myString1 = percentFormatter.string(for: myDouble1)
print(String(describing: myString1)) // Optional("8.0%")
let myDouble2 = 8.5
let myString2 = percentFormatter.string(for: myDouble2)
print(String(describing: myString2)) // Optional("8.5%")
let myDouble3 = 8.5786
let myString3 = percentFormatter.string(for: myDouble3)
print(String(describing: myString3)) // Optional("8.58%")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10583 次 |
| 最近记录: |