Подтвердить что ты не робот

Printf% f только с двумя числами после десятичной точки?

В моем printf мне нужно использовать %f, но я не уверен, как обрезать до двух знаков после запятой:

Пример: получение

3.14159

для печати:

3.14

4b9b3361

Ответ 1

Используйте это:

printf ("%.2f", 3.14159);

Ответ 2

Вы можете использовать что-то вроде этого:

printf("%.2f", number);

Если вам нужно использовать строку для чего-то другого, кроме распечатки, используйте класс NumberFormat:

NumberFormat formatter = new DecimalFormatter("#.##");
String s = formatter.format(3.14159265); // Creates a string containing "3.14"

Ответ 4

как описано в Formatter, вам нужно объявить точность. %.2f в вашем случае.

Ответ 5

Используйте этот

printf ("%.2f", 3.14159);

Ответ 6

Вы можете попробовать printf ( "%. 2f", [double]);

Ответ 7

Я предлагаю изучить его с помощью printf, потому что для многих случаев этого будет достаточно для ваших нужд, и вам не нужно будет создавать другие объекты.

double d = 3.14159;     
printf ("%.2f", d);

Но если вам нужно округление, обратитесь к этому сообщению

fooobar.com/questions/9403/...

Ответ 8

System.out.printf("%.2f", number);

НО, это будет округлять число до ближайшей десятичной точки, о которой вы упоминали. (Как и в вашем случае вы получите 3.14, так как округление 3.14159 до 2 десятичных точек будет 3.14)

Так как функция printf будет округлять числа, ответы на некоторые другие номера могут выглядеть так:

System.out.printf("%.2f", 3.14136); -> 3.14
System.out.printf("%.2f", 3.14536); -> 3.15
System.out.printf("%.2f", 3.14836); -> 3.15

Если вам просто нужно отключить десятичные числа и ограничить его десятичными числами k без округления,

скажем k = 2.

System.out.printf("%.2f", 3.14136 - 0.005); -> 3.14
System.out.printf("%.2f", 3.14536 - 0.005); -> 3.14
System.out.printf("%.2f", 3.14836 - 0.005); -> 3.14