将1.0,2.0更改为浮点值为1,2 |从浮动二进制点类型

时间:2018-01-23 07:25:51

标签: java string int double

我从API调用中收到double个值。该方法返回此类值2.02.3442.0343.1等。

如果我收到2.04.0之类的值,我想将其转换为24。我只需要2.03.0类似的值进行转化。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

假设这是一个格式化 double值为String的问题,确保没有尾随无关紧要的零,我建议使用{{1}控制格式。例如:

DecimalFormat

注意使用import java.text.*; import java.util.*; class Test { public static void main(String[] args) throws Exception { print(5.0d); print(5.000000001d); print(5.1d); print(123456789.1d); print(12345e-50); } private static void print(double value) { NumberFormat format = new DecimalFormat( "0.############", DecimalFormatSymbols.getInstance(Locale.US)); String text = format.format(value); System.out.println(text); } } 总是以小数点作为小数点分隔符。

Locale.US中的最后一个示例显示了这里的限制 - 非常接近0的数字将被格式化为“0”,因为我没有提供足够的可选数字(main部分)来格式化他们更合适。尽管如此,目前还不清楚你想要的是什么。默认表示形式为#

答案 1 :(得分:2)

您无法使用floatdouble进行存储,因为它们是浮动的二进制点类型,会产生1.02.0等。您可以使用{{ 1}}存储格式化的值:

String