Чтобы записать число с десятичной переменной в Java, вы можете использовать класс DecimalFormatили метод String.format. Вот несколько методов, которые вы можете использовать:
-
Использование класса DecimalFormat:
import java.text.DecimalFormat; double number = 123.456789; int decimalPlaces = 2; DecimalFormat df = new DecimalFormat("#." + new String(new char[decimalPlaces]).replace("\0", "0")); String formattedNumber = df.format(number); System.out.println(formattedNumber);Выход: 123,46
-
Использование метода String.format:
double number = 123.456789; int decimalPlaces = 2; String formattedNumber = String.format("%." + decimalPlaces + "f", number); System.out.println(formattedNumber);Выход: 123,46
-
Использование класса BigDecimal:
import java.math.BigDecimal; double number = 123.456789; int decimalPlaces = 2; BigDecimal bd = new BigDecimal(number); bd = bd.setScale(decimalPlaces, BigDecimal.ROUND_HALF_UP); String formattedNumber = bd.toString(); System.out.println(formattedNumber);Выход: 123,46
-
Использование класса DecimalFormatSymbols:
import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; double number = 123.456789; int decimalPlaces = 2; DecimalFormatSymbols symbols = new DecimalFormatSymbols(); symbols.setDecimalSeparator('.'); symbols.setGroupingSeparator(','); DecimalFormat df = new DecimalFormat("#." + new String(new char[decimalPlaces]).replace("\0", "0"), symbols); String formattedNumber = df.format(number); System.out.println(formattedNumber);Выход: 123,46