当前位置: 首页 > 面试题库 >

使用String.format的Java十进制格式?

郑星雨
2023-03-14
问题内容

我需要将一个十进制值格式化为一个字符串,在该字符串中,我总是以至少2个小数和最多4个小数显示。

所以举个例子

"34.49596" would be "34.4959" 
"49.3" would be "49.30"

可以使用String.format命令完成此操作吗?
还是在Java中有更简单/更好的方法来做到这一点。


问题答案:

您需要java.text.DecimalFormat。

DecimalFormat df = new DecimalFormat("0.00##");
String result = df.format(34.4959);


 类似资料:
  • 问题内容: 我在格式化双精度小数时遇到一些问题。如果我有一个双精度值,例如4.0,我该如何格式化小数位使其改为4.00? 问题答案: 一种方法是使用NumberFormat。

  • 我在格式化双精度小数时遇到了一些问题。如果我有一个双精度值,例如4.0,我如何设置小数的格式,使其变为4.00?

  • 是否可以使用一种方法或其他方法,而不是“%.6f”。格式(值)以实现相同的目标?这是我的代码: 我想让它更具动态性和可读性

  • 我正在使用DecimalFormats将双打格式化为字符串。然后这个字符串被集成到我的表示层中。 问题:我想保留所有的小数。示例:“12345678.123456789” 格式:#.#- 我可以用##########对于大小数点,但是如果小数点更长呢? 我发现我的小测试程序很有用,想和大家分享。 你能帮我显示所有小数吗? 这导致: 编辑:一位用户提到了一个相关的问题:如何很好地将浮点数格式化为字符

  • 我是android和java编程的新手,所以请原谅我,如果这是一个简单的问题。我的问题是在小数点后添加%。我会得到双倍的值,不知道小数点后有多少位数,我需要在小数点后转换为两位数,最后需要在最后的位置添加%。问题是,我将只格式化一次双倍值。我已经尝试过像这样DecimalFormat ("#.##%"), 但是小数点向前移动了两位数。请帮助我摆脱这个问题。 使用十进制格式(“#.##%”, 实际:

  • 有没有办法防止对象自动将小数点向右移动两位? 此代码: 产生: 但是我希望它能产生: