微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

处理字符串格式不加零

如何解决处理字符串格式不加零

所以它真的应该很简单

float x =0;
for (int i=0;x<=100;i++){
print(String.format("%03.2f%n",x));
x+=10;
}

这是我当前的代码,它应该打印 000,00 010,00 020,00 030,00 040,00 ... 但它在开头错过了 0 它只打印 0,00 10,00 20,00 ...

很确定解决方案很简单,但我就是找不到

解决方法

您没有指定使用哪种编程语言。但是 sprintf 在许多语言中是相似的。

您正在格式化一个浮点数。对于浮点数,第一个数字表示字符串的总位置数,包括小数点分隔符,第二个数字表示小数点分隔符后的位数。在您的情况下,您总共指定了三位数字,其中两位在小数点分隔符之后。这就是您看到 0,0010.00 的原因。请注意,如果格式不符合您指定的格式,您的格式化程序会扩展为 4 个字符!

因此您需要使用格式 "%06.2f%n"

我将使用 perl 向您展示它对我的作用:

$ perl -E 'say sprintf("%06.2f",20)'
020.00

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。