我在用String 'sinit(format: String, _ arguments: CVarArgType…) 做一些实验,在我尝试这样做之前,一切都按预期进行:
String(format:"%3f", 32.6)
结果是: 32.60万 我不明白为什么它不符合我想要的宽度。 根据我对格式说明符的了解(我对它们不是很了解),您可以指定如下:
%x.y
其中,x 是返回数字的宽度(没有最终的点)y 是精度(点后的位数)。 例如:
String(format: "%3.2", 2.1)
应返回: 二点一零 如果x 大于所有数字,则会在字符串前面加空格。 哦。好吧,我只是明白了。我只回答我自己的问题。
Best Answer-推荐答案 strong>
当你不给格式说明符一个精度(点后面的部分)时,它似乎会打印一个默认的位数(在我的例子中是6位)。 我给格式说明符指定的宽度小于带数字的数字表示(默认精度为6位),它只打印带所有数字的数字。如果我使用%10f 它会打印带有预加空格的数字。
关于swift - Double上的格式说明符,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/31860927/
|