不在 sprintf 中显示整数的小数点
Not display decimal point in sprintf for integers
我需要将一些数值转换为字符。如果相关,我想显示尾随零,如果数字是整数,则不显示小数位。例如,在下面的代码中,我需要输出 "11" "0.30" "0.00050" "3.1" "4.6"
。如何让 11 显示为“11”而不是“11”?
sprintf('%#.2g', c(11, 0.301, 0.000502, 3.12, 4.56))
您可以删除尾随的 .像这样:
sprintf('%#.2g', c(11, 0.301, 0.000502, 3.12, 4.56)) |> stringr::str_remove("[.]$")
#> [1] "11" "0.30" "0.00050" "3.1" "4.6"
我需要将一些数值转换为字符。如果相关,我想显示尾随零,如果数字是整数,则不显示小数位。例如,在下面的代码中,我需要输出 "11" "0.30" "0.00050" "3.1" "4.6"
。如何让 11 显示为“11”而不是“11”?
sprintf('%#.2g', c(11, 0.301, 0.000502, 3.12, 4.56))
您可以删除尾随的 .像这样:
sprintf('%#.2g', c(11, 0.301, 0.000502, 3.12, 4.56)) |> stringr::str_remove("[.]$")
#> [1] "11" "0.30" "0.00050" "3.1" "4.6"