String 十进制数切割

String 十进制数切割,string,floating-point,numbers,decimal,cut,String,Floating Point,Numbers,Decimal,Cut,我在EditText行中输入一个数字,它在另一行中计算一个双倍值。 但4.8的双倍值应该是9.6,而不是9.600000381469727。 我知道浮点数是正常的,但我想把十进制数的数量减少到4。我不知道如何在我的代码中做到这一点 private void calc(double number, operation input) { double a = 0; switch (input) { case a: valuedo

我在EditText行中输入一个数字,它在另一行中计算一个双倍值。 但4.8的双倍值应该是9.6,而不是9.600000381469727。 我知道浮点数是正常的,但我想把十进制数的数量减少到4。我不知道如何在我的代码中做到这一点

private void calc(double number, operation input) {
        double a = 0;
        switch (input) {
        case a:
            valuedouble.setText(valuecount(number));

private String valueucount(double input) {
        return Double.toString( input*2 );
    }

谢谢回复。

您可以使用以下命令(格式化字符串)


有关格式字符串的完整列表,请参阅。

这在iOS中不可用吗?我正在为Android编程。很抱歉,这有点超出范围,但我只是更改了示例,因为格式字符串也将应用于Android。我尝试如下:
code
private void calc(双精度数字,操作输入){double a=0;switch(输入){case a:valuedouble.setText(string.format(%.4f),valuecount(数目);
code
虽然我在Eclipse中没有收到任何arror,但它在应用程序中不起作用-它不计算,甚至在其他编辑文本中也不计算。格式字符串意味着您将传递一个双精度参数,并应将其格式化为最大4位小数的字符串。在代码中,valuecount方法应返回双精度或Doubel.toString…调用valuecount应替换为String.format…行。
String.format("%.4f", number);