string - golang 如何删除 %!d(string= in string

标签 string go integer format

我有这个:

newStr := fmt.Sprintf("new price: %d€", newPrice)
fmt.Println(newStr) // new price:  %!d(string=500.00)€
// except I want: new price: 500,00€

如何删除字符串末尾的 %!d() 使其变成这样 new price: 500,00€

我可以使用 strings.Replace 格式,但我认为这不是好的答案。

我的 newPrice 是一个 float 。

我很确定它已经被问过了,但很难用谷歌搜索这类东西。

最佳答案

问题是您在调用 fmt.Sprintf() 时使用 %d 作为整数值,但传递了一个浮点值 (500 ,00).

试试这个:

newStr := fmt.Sprintf("new price: %f€", newPrice)
fmt.Println(newStr) 

关于string - golang 如何删除 %!d(string= in string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71488798/

相关文章:

c# - 匹配大文本文件中的字符串?

c++ - 为什么 strlen 对我不起作用?

io - 过滤掉断管错误

go - 504 GRPC上的网关超时

c - 我在程序 C 中遇到了 Time Limit Exceeded 错误。我该如何克服它?

java - 如何使用同名字符串引用类

go - 具有并发支持的golang哈希表

r - 检查数字是否为整数

java - 如何检测 32 位 int 上的整数溢出?

swift - 如何从 Swift 中的字符串返回第一个单词?