有没有简单的方法可以将数字转换为字母?
例如,
3
=> "C"
和23
=> "W"
?
为简单起见,以下解决方案中省略了范围检查。
它们都可以在Go Playground上尝试。
rune
只需将数字'A' - 1
添加1
到const即可,然后将其添加到const中'A'
,然后添加2
get 'B'
等。
func toChar(i int) rune {
return rune('A' - 1 + i)
}
测试它:
for _, i := range []int{1, 2, 23, 26} {
fmt.Printf("%d %q\n", i, toChar(i))
}
输出:
1 'A'
2 'B'
23 'W'
26 'Z'
string
或者,如果您希望将其作为string
:
func toCharStr(i int) string {
return string('A' - 1 + i)
}
输出:
1 "A"
2 "B"
23 "W"
26 "Z"
string
在规范中记录了最后一个(将数字转换为):在字符串类型之间来回转换:
将有符号或无符号整数值转换为字符串类型会产生一个包含该整数的UTF-8表示形式的字符串。
string
(已缓存)如果您需要多次执行此操作strings
,例如将其存储在一个数组中,然后string
从中返回即可,这是有利可图的:
var arr = [...]string{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
func toCharStrArr(i int) string {
return arr[i-1]
}
注意:切片(而不是数组)也可以。
注2:你可以,如果你添加一个虚拟的第一个字符,所以你不必减去改善这个1
来自i
:
var arr = [...]string{".", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
func toCharStrArr(i int) string { return arr[i] }
string
(切片string
常量)另一个有趣的解决方案:
const abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
func toCharStrConst(i int) string {
return abc[i-1 : i]
}
切片a string
是有效的:新方法string
将共享后备数组(可以完成,因为string
s是不可变的)。
本文向大家介绍JavaScript 数字的字符串表示形式,包括了JavaScript 数字的字符串表示形式的使用技巧和注意事项,需要的朋友参考一下 示例 JavaScript具有从Number到String表示形式的本地转换,从2到36的任何基数。 十进制(以10为底)之后最常见的表示形式是十六进制(以16为底),但本节的内容适用于范围内的所有底。 为了将数字从十进制(以10为底)转换为十六进制(
null null 我想在ng-pattern中使用这个regex来检查来自用户的文本输入。
问题内容: 我有字母“ a”,“ b”,“ c”。我希望我的结果在TSQL中分别为“ b”,“ c”,“ d”。我会用什么来实现这一目标? 问题答案: 使用得到字符的值,增加一个,并使用转换的值返回到一个字符。
我使用以下代码尝试了以下正则表: 现在,当我输入单词:“ABN##@@123-test”时,所有返回true。它应该是false,因为里面有字符##@@。 谢谢你的帮助。
其中,我需要包括连字符和空格。 这意味着还必须可以输入值“”。