如何在printfn / sprintf中转义%?

时间:2015-01-07 13:14:45

标签: f#

如何使用printf / sprintf打印带有实际%符号的文本? e.g。

let fn = 5
printf "%i%" fn

给出了编译错误。明显的\%也不起作用。

2 个答案:

答案 0 :(得分:8)

在输出文本中需要%的位置使用“%%”。

从上面的例子

let fn = 5
printf "%i%%" fn

很乐意打印“5%”

(如果你想出于某种原因打印“%5”,我发现的唯一方法是连接字符串,即

"%"+ (printf "%i" 5)

因为

printf "%%%i" 5

也不起作用。)

答案 1 :(得分:2)

您可以随时执行以下操作:

let fn = 5
printf "%i%s" fn "%"