Swift数字类型和文字
示例
Swift的内置数字类型为:
字大小(取决于体系结构)的有符号Int和无符号UInt。
固定大小的有符号整数Int8,Int16,Int32,Int64和无符号整数UInt8,UInt16,UInt32,UInt64。
浮点类型Float32/Float,Float64/Double和Float80(仅x86)。
文字
数字文字的类型是根据上下文推断的:
let x = 42 //x默认为Int let y = 42.0 //y默认为Double let z: UInt = 42 //z是UInt let w: Float = -1 //w是浮动的 let q = 100 as Int8 //q是Int8
下划线(_)可用于分隔数字文字中的数字。前导零被忽略。
浮点字面量可以使用有效和指数部分(对于十进制;对于十六进制)指定。«significand» e «exponent»0x «significand» p «exponent»
整数文字语法
let decimal = 10 //十 let decimal = -1000 //负一千 let decimal = -1_000 //相当于-1000 let decimal = 42_42_42 //相当于424242 let decimal = 0755 //相当于755,而不是某些其他语言的493 let decimal = 0123456789 let hexadecimal = 0x10 //相当于16 let hexadecimal = 0x7FFFFFFF let hexadecimal = 0xBadFace let hexadecimal = 0x0123_4567_89ab_cdef let octal = 0o10 //相当于8 let octal = 0o755 //相当于493 let octal = -0o0123_4567 let binary = -0b101010 //相当于-42 let binary = 0b111_101_101 //相当于0o755 let binary = 0b1011_1010_1101 //等效于0xB_A_D
浮点文字语法
let decimal = 0.0 let decimal = -42.0123456789 let decimal = 1_000.234_567_89 let decimal = 4.567e5 //相当于4.567×10⁵或456_700.0 let decimal = -2E-4 //相当于-2×10⁻⁴或-0.0002 let decimal = 1e+0 //相当于1×10⁰或1.0 let hexadecimal = 0x1p0 //相当于1×2⁰或1.0 let hexadecimal = 0x1p-2 //等于1×2⁻²或0.25 let hexadecimal = 0xFEEDp+3 //相当于65261×2³或522088.0 let hexadecimal = 0x1234.5P4 //等效于0x12345或74565.0 let hexadecimal = 0x123.45P8 //等效于0x12345或74565.0 let hexadecimal = 0x12.345P12 //等效于0x12345或74565.0 let hexadecimal = 0x1.2345P16 //等效于0x12345或74565.0 let hexadecimal = 0x0.12345P20 //等效于0x12345或74565.0