0

我正在尝试从 123456789.1234 中获取 123456789.12 值

如果我使用字符串,它将使用解析逻辑直接工作。我不想返回字符串。要求是返回龙。

在这里,我想将输出返回 Long 类型而不是字符串。有人可以帮我吗?

4

3 回答 3

3

Long 是整数类型,因此不能容纳小数。尝试使用 Long.parseLong 会导致NumberFormatException. 您还需要使用处理比例的表示。

于 2013-09-27T13:06:32.987 回答
0

试试这个长输出:

String str = "123456789.1234";
BigInteger num = new BigInteger(str);

return num.longValue();

试试这个浮点输出:

String str = "123456789.1234";
BigDecimal num = new BigDecimal(str).setScale(2, BigDecimal.ROUND_HALF_UP);

return num.floatValue();
于 2013-09-27T13:08:30.137 回答
0

您要返回的数字不是 Long。您可以返回双精度或浮点数。您也可以使用

DecimalFormat df = new DecimalFormat("#.##");
String stringDouble = df.format(yourDouble);;
于 2013-09-27T13:12:51.107 回答