0

我有一个类似的字符串46542.5435657468,但我想格式化这个字符串并且在点“。”之后只需要两个字符。喜欢46542.54。请建议我需要使用哪种 String 方法。

4

5 回答 5

6
String.format("%.2f", Double.valueOf("46542.5435657468"));
于 2013-09-12T12:20:14.827 回答
3

您可以使用DecimalFormat

首先在顶部声明这个

DecimalFormat dtime = new DecimalFormat("#.##"); //change .## for whatever numbers after decimal you may like.

然后像这样使用它

dtime.format(your string);

喜欢:

 String a = "46542.5435657468";
dtime.format(a);

输出将是46542.54

于 2013-09-12T12:23:03.330 回答
3

也许String.format()

String.format("%.2f", floatValue);
于 2013-09-12T12:17:48.000 回答
1

您可以使用这样的方法。

private static String extract(String text) {
    String[] values = text.split(".");
    return values[0] + "." + values[1].substring(0, 2);
}
于 2013-09-12T12:17:38.567 回答
0

indexOf 方法告诉你字符“.”的位置。好?

方法 substring 从开头(值 0)到字符“.”的位置剪切了字符串的和平。再加上 2 位数。

public String getNumberFormated(String  yourNumber)
{
   return  yourNumber.substring(0, yourNumber.indexOf(".") + 2);
}

你喜欢我的解决方案吗?

于 2013-09-12T12:23:19.540 回答