Как распечатать до двух знаков после запятой в java с помощью string builder?
Привет я пытаюсь напечатать после разделения в строковом Строителе и печати, что строковый строитель пусть покажет мне мой код,
string.append("Memomry usage:total:"+totalMemory/1024/1024+
"Mb-used:"+usageMemory/1024/1024+
" Mb("+Percentage+"%)-free:"+freeMemory/1024/1024+
" Mb("+Percentagefree+"%)");
в приведенном выше коде "totalmemory" и "freememory" имеет двойной тип, имеющий значение байтов в точке не null, поэтому я разделяю его на" 1024 "два раза, чтобы получить его в" Mb", а" string " является переменной строкового строителя после использования этого кода я просто печатаю его, как показано ниже,
Used Memory:Memomry usage:
total:13.3125Mb-used:0.22920989990234375Mb (0.017217645063086855%)
-free:13.083290100097656Mb (0.9827823549369131%)
Я хочу получить процент в twodecimal место и значения используемой и свободной памяти в Мб, как это "используется: 2345.25" в этом pattren помните
надеется на ваши предложения
спасибо заранее
4 ответов
как о String.format()
?
System.out.println(String.format("output: %.2f", 123.456));
выход:
output: 123.46
попробуйте так
double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d));
используя DecimalFormat, мы можем форматировать так, как мы хотели видеть.
можно использовать DecimalFormat для печати до двух знаков после запятой. Итак, печатать x = 2345.2512
с двумя десятичными знаками вы напишете
NumberFormat f = new DecimalFormat("#.00");
System.out.println(f.format(x));
который будет печатать 2345.25.
хотя можно использовать NumberFormat и это подкласс DecimalFormat для этой проблемы, эти классы предоставляют множество функций, которые могут не требоваться для вашего приложения.
Если цель-просто распечатки, я бы рекомендовал использовать функцию format класса String. Для вашего конкретного кода это будет выглядеть так:
string.append(String.format("Memomry usage:total:%1.2f Mb-used:%1.2f Mb(%1.2f %%)-free:%1.2f Mb(%1.2f %%)",totalMemory/1024/1024,usageMemory/1024/1024,Percentage,freeMemory/1024/1024,Percentagefree));
Если вы собираетесь указать стандартный формат, в котором все числа представлены независимо от независимо от того, Анализируются ли они из строк или отформатированы в строки, Я бы рекомендовал использовать синглеты классов *Format. Они позволяют использовать стандартные форматы, а также передавать описания форматов между методами.
надеюсь, что это поможет вам выбрать правильный метод для использования в вашем приложении.