我的应用程序处理价格,我在这里面临一个小问题。我将分步解释清楚。
以下是我的输入和输出应该是。
输入 1.01 = 输出 1
输入 1.748 = 输出 1.75
输入 1.98 = 输出 2
输入 1.49 = 输出 1.5
输入 20.0 = 输出 2
0
我使用了以下代码,但我无法实现
double calc = 1.98;
DecimalFormat df = new DecimalFormat("#.##");
calc = Double.valueOf(df.format(calc));
System.out.println(String.valueOf(calc).replaceAll("([0-9])\\.0+([^0-9]|$)", "$1$2"));
::> output is 1.98 which should be 2
double calc = 20.0;
DecimalFormat df = new DecimalFormat("#.#");
calc = Double.valueOf(df.format(calc));
System.out.println(String.valueOf(calc).replaceAll("([0-9])\\.0+([^0-9]|$)", "$1$2"));
::> output is 20 this is correct for me.
double calc = 2.01;
DecimalFormat df = new DecimalFormat("#.##");
calc = Double.valueOf(df.format(calc));
System.out.println(String.valueOf(calc).replaceAll("([0-9])\\.0+([^0-9]|$)", "$1$2"));
::> output is 2.01 Which should be 2.
以下我尝试过的代码。