Java: двойной вопрос форматирования для printf %s - строка в printf, а% d - десятичная точка, о которой я думал... но при вводе writer.printf("%d dollars is the balance of %s\r\n", bal, nm); .. исключение говорит мне, что %d!= lang.double. Идеи? Ответ 1 %d для целых чисел использует %f вместо этого, он работает для типов float и double: double d = 1.2; float f = 1.2f; System.out.printf("%f %f",d,f); // prints 1.200000 1.200000 Ответ 2 Да, %d означает десятичную, но это означает система с десятичным числом, а не десятичная точка. Кроме того, в качестве дополнения к предыдущему сообщению вы также можете контролировать количество десятичных точек для отображения. Попробуйте это, System.out.printf("%.2f %.1f",d,f); // prints 1.20 1.2 Подробнее см. API-документы.
Ответ 1 %d для целых чисел использует %f вместо этого, он работает для типов float и double: double d = 1.2; float f = 1.2f; System.out.printf("%f %f",d,f); // prints 1.200000 1.200000
Ответ 2 Да, %d означает десятичную, но это означает система с десятичным числом, а не десятичная точка. Кроме того, в качестве дополнения к предыдущему сообщению вы также можете контролировать количество десятичных точек для отображения. Попробуйте это, System.out.printf("%.2f %.1f",d,f); // prints 1.20 1.2 Подробнее см. API-документы.