【发布时间】:2011-09-17 03:14:11
【问题描述】:
我可以使用DecimalFormat 在数字之间输入破折号 (-) 吗?我一直在尝试这样做,但是当我运行程序时,破折号会出现在数字的末尾,例如:129329-
我希望它看起来像这样:129-329
【问题讨论】:
-
如果您包含将破折号放在末尾的代码会很有帮助。
标签: java formatting number-formatting
我可以使用DecimalFormat 在数字之间输入破折号 (-) 吗?我一直在尝试这样做,但是当我运行程序时,破折号会出现在数字的末尾,例如:129329-
我希望它看起来像这样:129-329
【问题讨论】:
标签: java formatting number-formatting
您可以这样做。
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
public class NewClass
{
public static void main(String[] args)
{
DecimalFormatSymbols phoneNumberSymbols = new DecimalFormatSymbols();
// Use space not comma to thousands: 10 000 not 10,000.
phoneNumberSymbols.setGroupingSeparator('-');
DecimalFormat phoneNumberFormat = new DecimalFormat("####,###,###", phoneNumberSymbols);
System.out.println("Some mobile number:" + phoneNumberFormat.format(567884968L));
}
}
【讨论】:
如果你的电话号码是字符串,解决方法如下:
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
public class NewClass {
public static void main(String[] args) {
long lg_tel = Long.parseLong(example.getString("tel")); // String to Long
DecimalFormatSymbols phoneNumberSymbols = new DecimalFormatSymbols();
// Use space not comma to thousands: 10 000 not 10,000.
phoneNumberSymbols.setGroupingSeparator('-');
DecimalFormat phoneNumberFormat = new DecimalFormat("####,###,###", phoneNumberSymbols);
(...)
tv.setText(phoneNumberFormat.format(lg_tel).toString());
}
}
【讨论】: