如何在点后将双倍转换为2个数字?

gol*_*oft 16 java android

可能重复:
将小数点后的双精度数加到2位有效数字

如何在点后将双倍转换为2个数字?

例如:

double x=123.45678;
Run Code Online (Sandbox Code Playgroud)

我需要x=123.45(在java中为android)

提前致谢

Oli*_*rth 34

x = Math.floor(x * 100) / 100;
Run Code Online (Sandbox Code Playgroud)

  • 我使用这种方法,但如果数字的例子像6.50则显示6.5.我怎么能加零? (9认同)

Bal*_*i.K 17

试试这段代码

double x=123.45678;
DecimalFormat df = new DecimalFormat("#.##");
String dx=df.format(x);
x=Double.valueOf(dx);
Run Code Online (Sandbox Code Playgroud)


ila*_*o j 10

用这个,

  NumberFormat formatter = new DecimalFormat("#0.00");
 x=formatter.format(x);
Run Code Online (Sandbox Code Playgroud)


Evi*_*uck 8

使用NumberFormat类来正确格式化数字.

特别是在您的情况下,您可以执行以下操作.虽然这不是L10N友好的.

mNumberFormat = NumberFormat.getInstance();
mNumberFormat.setMinimumFractionDigits(2);
mNumberFormat.setMaximumFractionDigits(2);
Run Code Online (Sandbox Code Playgroud)


SBe*_*413 5

格式化double的最佳方法是使用NumberFormat类:http: //developer.android.com/reference/java/text/NumberFormat.html

你会做这样的事情:

NumberFormat nf = NumberFormat.getInstance(); // get instance
nf.setMaximumFractionDigits(2); // set decimal places
String s = nf.format(x);
Run Code Online (Sandbox Code Playgroud)

你也可以把它重新塑造成双人.