如何使用Java中的两位有效数字将String转换为Long?

时间:2013-09-27 13:03:36

标签: java

我想从123456789.1234中获得123456789.12值

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

这里我想要输出Long类型而不是string ..有人可以帮我这个吗?

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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();

答案 2 :(得分:0)

您想要退回的号码不是Long.You可以返回double或float.Also您可以使用

DecimalFormat df = new DecimalFormat("#.##");
String stringDouble = df.format(yourDouble);;