我試圖格式化爲UInt64.max
返回的整數以將逗號添加到數字。萬一它很重要,我現在正在寫一個「遊樂場」,我正在使用XCode 6.3.2。如何格式化UInt64.max以添加逗號
下面是相關代碼:
//: Playground - noun: a place where people can play
import UIKit
// MARK: - Integer Bounds
var formatter = NSNumberFormatter()
formatter.numberStyle = .DecimalStyle
println(formatter.stringFromNumber(100000))
println(formatter.stringFromNumber(100000000))
println(formatter.stringFromNumber(NSNumber(char: Int8.min)))
println(Int8.min)
println(Int8.max)
println(UInt8.min)
println(UInt8.max)
println(Int16.min)
println(formatter.stringFromNumber(NSNumber(short: Int16.min)))
println(Int16.max)
println(formatter.stringFromNumber(NSNumber(short: Int16.max)))
println(UInt16.min)
println(UInt16.max)
println(formatter.stringFromNumber(NSNumber(unsignedShort: UInt16.max)))
println(Int32.min)
println(formatter.stringFromNumber(NSNumber(int: Int32.min)))
println(Int32.max)
println(formatter.stringFromNumber(NSNumber(int: Int32.max)))
println(UInt32.min)
println(UInt32.max)
println(formatter.stringFromNumber(NSNumber(unsignedInt: UInt32.max)))
println(Int64.min)
println(formatter.stringFromNumber(NSNumber(longLong: Int64.min)))
println(Int64.max)
println(formatter.stringFromNumber(NSNumber(longLong: Int64.max)))
println(UInt64.min) // 0
println(UInt64.max) // 18446744073709551615
println(formatter.stringFromNumber(NSNumber(unsignedLongLong: UInt64.max))) // Optional("-1")
所有這些返回格式正確的數除了最後一個(UInt64.max)。
如圖所示,最後一行(我嘗試使用格式化程序添加逗號)返回Optional("-1")
。
如何才能打印UInt64.max
用逗號格式化?
看起來像一個錯誤對我來說。似乎每個數字> Int64.max都被格式化爲負數。 –
這裏我的問題可能是這個問題的重複:http://stackoverflow.com/questions/24218918/why-is-uint64-max-equal-1-in-swift –