关于将整数使用千位/百万位分隔符打印的问题。
我有一个文本文件,其中包含国家、城市和总人口。
我需要读取文件,并按国家进行排序。如果国家相同,则必须按人口数量降序排序。
文本文件格式如下:
澳大利亚........悉尼.........10.123.456
巴西...........圣保罗.......7.123.345
我将所有三个字符串读入并分开处理。然后我从人口字符串中删除所有“。”。之后我使用atoi()将人口字符串转换为整数。
现在,如果国家相同,我就可以按人口数量排序了。这种排序是正确的。
到目前为止一切都好。但是我需要在人口的打印中加上千位/百万位分隔符。
如果我使用带有“.”的字符串进行排序,则不会得到正确的结果。
它会像这样排序:
x........x......1.123456
x........x......10.123.456
x........x......2.123.232
它应该看起来像:
澳大利亚........悉尼.........10.123.456
澳大利亚........布里斯班.......8.123.456
有没有办法通过再次添加分隔符来操作打印的整数呢?
非常感谢!
10
小于7
,因为1
在7
之前。你应该在内部将数字保留为整数,并且只在真正进行输出时将它们转换为格式化版本。 - Marc B