我尝试格式化双精度格式,例如99928.000000
只读99928
。我知道我可以把它改成一个整数,但是我读的数据已经领先0,整数不会被拿走。我可以以某种方式将其格式化为只读99928
。
String result = String.format("%f %s,%s (%1.3f; %1.3f)",zip, city, state, latitude,longitude);
当前代码^^感谢您的时间。
答案 0 :(得分:0)
您已经通过编写.3指定了三个小数位,因此您可以获得它们。如果您不想要它们,请不要指定它们。
我不知道你的意思是什么,以及整数都没有拿起来的零点。双精度数或整数都不包含前导零。
答案 1 :(得分:0)
使用DecimalFormat
创建一个带有前导零的String
来格式化邮政编码。使用此代码:
DecimalFormat pattern = new DecimalFormat("00000");
String zip = pattern.format(99928.0);
System.out.println(String.format("%s", zip));
输出结果为:
99928
顺便提一下,因为邮政编码中有前导零,所以不应将其读作任何数字数据类型。您应该阅读并将其存储为String
。
答案 2 :(得分:0)
如果您能够保持前导零,我猜您将99928.000000
存储为字符串。
在这种情况下,您应该能够通过在小数点上使用字符串拆分来获得所需的内容。
String foo = "99928.000000"
foo = foo.split("\\.")[0]
答案 3 :(得分:0)
答案 4 :(得分:0)
对于邮政编码,您应使用"%5.0f"进行掩码,如下所示
String result = String.format("%5.0f %s,%s (%1.3f; %1.3f)", zip, city, state, latitude, longitude);
可能会有所帮助