私のアプリケーションは価格を扱っていますが、ここで小さな問題に直面しています。ステップで分かりやすく説明します。
以下は私の入力であり、OutPut はそうあるべきです。
入力 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.
私が試した次のコード。