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

golang how to remove %!d(string= in string

我有这个:

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 是一个浮点数。

我很确定它已经被问过了,但是很难 google 那种事情。

问题是您在对 fmt.Sprintf() 的调用中使用 %d 作为整数值,但传递了 floating-point 值 (500,00)。

试试这个:

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