string - 如何将数字转换为特定格式?
问题描述
我想知道是否有办法将自定义屏蔽/格式应用于字符串并获取输出
number:= 12345678
我想将我的号码格式化为特定格式。
func formatNumber(number string) string {
format:= 123-45 678
// do something here to format number
return formatedNumber
}
解决方案
您的代码示例中有一些误解。计算机中的数字没有格式化,但数字的字符串表示可以。下面的例子。
func main() {
n1 := 12345678 // type = int
fmt.Printf("type: %T, value: %d\n", n1, n1) // outputs "type: int, value: 12345678"
n2 := "12345678" // type = string
fmt.Printf("type: %T, value: %s\n", n2, n2) // outputs "type: string, value: 12345678"
}
请参阅https://golang.org/pkg/fmt/了解来源%T
和%d
来源%s
。
要格式化一个数字,我认为你不能得到你想要的。不过有几个选择:
- 将 an
int
转为 astring
:mystring := fmt.Sprintf("%d", myint)
- 如果您已经有一个字符串,请获取子字符串,然后在格式输出中添加其他格式字符。
根据您的问题,下面会为您提供类似于您想要的东西。
func main() {
mynumber := 12345678
mystring := fmt.Sprintf("%d", mynumber)
myformattedstring := fmt.Sprintf("%s-%s %s", mystring[:3], mystring[3:5], mystring[5:])
fmt.Println(myformattedstring)
}
这是带有此代码的游乐场。
推荐阅读
- python - 如何在 Django 中使用“*.objects.values()”
- c++ - 为什么字符串的 move() 会改变内存中的底层数据位置?
- python - 如何使用 pyinstaller 成功执行包含网页抓取代码的 python 脚本
- batch-file - 使用 ERRORLEVEL 检索 InstallUtil 的退出状态
- docker - Nginx 反向代理未使用主机名找到其他内部 Docker 容器
- python-3.x - 循环遍历列表和 t 测试时的 TypeError 操作数
- reactjs - Heroku:puppeteer chrome:加载共享库时出错:libX11-xcb.so.1
- javascript - Nodejs模型不采用图像类型?
- html - 平滑滚动锚链接没有发生 - 只是跳转到部分而不是滚动
- excel - Excel INDEX MATCH 列格式转换为行列格式