tango.text.convert.Integer(r4795)
License:
BSD style: see license.txt
Version:
Initial release: Nov 2005
Author:
Kris
在整型值和字符串间转换的一些函数。
高度建议采用D的别名导入机制使用这个模块,以限制命名空间的污染:
1 2 3 | import Integer = tango.text.convert.Integer; auto i = Integer.parse ("32767"); |
-
int toInt(T, U = uint)(T[] digits, U radix = 0) ¶#
- 从提供的 'digits'字符串解析出一个整数值。
- 要检查字符串中正负号和一个可选的基数前缀。相反的一个基数也可以作为一个参数提供,因此它必须匹配前缀(在出现的地方)。当基数设为零,转换默认为十进制。
抛出:
- 输入文本不能完全可解析的地方抛出 IllegalArgumentException(非法参数异常)。
也可看看:
低级函数parse() 和convert() 。
-
long toLong(T, U = uint)(T[] digits, U radix = 0) ¶#
- 从提供的 'digits'字符串解析出一个整数值。
- 要检查字符串中的正负号和一个可选的基数前缀。相反的一个基数也可以作为一个参数提供,因此它必须匹配前缀(在出现的地方)。当基数设为零,转换默认为十进制。
抛出:
- 输入文本不能完全可解析的地方抛出 IllegalArgumentException(非法参数异常)。
也可看看:
- 低级函数 parse() 和 convert() 。 char[] toString(long i, char[] fmt = null) ¶#
- 包装使生活更简单。返回一个提供的值的文字版本。
- 更多细节见 format()。 wchar[] toString16(long i, wchar[] fmt = null) ¶#
- 包装使生活更简单。返回一个提供的值的文字版本。
- 更多细节见 format()。 dchar[] toString32(long i, dchar[] fmt = null) ¶#
- 包装使生活更简单。返回一个提供的值的文字版本。
- 更多细节见 format()。 T[] format(T, U = long)(T[] dst, U i, T[] fmt = null) ¶#
- 通过一个数组支持格式说明,具体格式按下面给出的表示法:
1 | type width prefix |
- Type是 [d, g, u, b, x, o]或相应的大写的其中之一,指出转换基数或别的语义。
Width是任选的,指出零填充的最小宽度,任选的前缀是['#', ' ', '+']其中之一,它们指出在输出中放入什么前缀,例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | "d" => integer 整数 "u" => unsigned 无符号 "o" => octal 八进制 "b" => binary 二进制 "x" => hexadecimal 十六进制 "X" => hexadecimal uppercase 十六进制大写 "d+" => integer prefixed with "+" 带有前缀"+"的整数 "b#" => binary prefixed with "0b" 带有前缀"0b"的二进制 "x#" => hexadecimal prefixed with "0x" 带有前缀"0x"的十六进制 "X#" => hexadecimal prefixed with "0X" 带有前缀"0X"的十六进制 "d8" => decimal padded to 8 places as required 视情况填充到8位的十进制 "b8" => binary padded to 8 places as required 视情况填充到8位的二进制 "b8#" => binary padded to 8 places and prefixed with "0b" 带有"0b"前缀视情况填充到8位的二进制 |
注:指定宽度不包括前缀,虽然为了确保被要求的前缀插入到提供的输出中宽度的填充会视情况收缩。
-
long parse(T, U = uint)(T[] digits, U radix = 0, uint* ate = null) ¶#
- 从提供的 'digits'字符串解析出一个整数值。
- 要检查字符串中的正负号和一个可选的基数前缀。相反的一个基数也可以作为一个参数提供,因此它必须匹配前缀(在出现的地方)。当基数设为零,转换默认为十进制。
一个非null的'ate'会返回字符个数用于创建返回值。
抛出:
无。'ate'参数会为有效地输入进行检查。
-
ulong convert(T, U = uint)(T[] digits, U radix = 10, uint* ate = null) ¶#
- 转换提供的 'digits' 成一个整数值,没检查正负号或基数。基数默认为十进制。
- 返回值并更新 'ate'消耗的字符数。
抛出:
无。'ate'参数会为有效地输入进行检查。
-
uint trim(T, U = uint)(T[] digits, inout bool sign, inout U radix) ¶#
- 剥离前面的空白,抽取一个任选的 +/-号和任选的基数前缀。如果基数值匹配一个任选的前缀,或基数为零,前缀会被消耗并赋值。在基数是非零和不匹配一个明确的前缀的地方,后者会被保留不消耗。否则,基数默认为 10.
- 返回消耗掉的字符数。 uint atoi(T)(T[] s, int radix = 10) ¶#
- 快速和肮脏的文字到无符号整数转换器。仅用于你知道它的内容是什么的情况,或用 parse() 或 convert()代替。
- 返回解析的 uint。 T[] itoa(T, U = uint)(T[] output, U value, int radix = 10) ¶#
- 快速和脏的无符号数到文字转换器,提供输出的地方必须足够大以容纳结果(最大的情况是 10位)。对于主流的使用,可考虑用 format()代替。
- 返回一个提供的输出的组装切片。