Я использовал метод String.valueOf(aDoubleNumber)
и изменил% f на% s в ваших выражениях printf. Это сработало для меня.
public static void main(String[] args)
{
double mean = 0.5929934999999997;
double stddev = 0.00876990421552567;
double confidenceLo = 0.12345666612123;
double confidenceHi = 0.123456784435369;
String confidence = "95% confidence interval";
int width = confidence.length();
String f = "%-".concat(String.valueOf(width))
.concat("s = ");
// changed the %f to %s and used String.valueOf method to convert first
System.out.printf(f.concat("%s\n"), "mean", String.valueOf(mean));
System.out.printf(f.concat("%s\n"), "stddev", String.valueOf(stddev));
System.out.printf(f.concat("[%s, %s]"), confidence,
(String.valueOf(confidenceLo)), String.valueOf(confidenceHi));
}
Вывод:
среднее = 0,5929934999999997
stddev = 0,00876990421552567
95% доверительный интервал = [0,124345666612123, 0,1231456784435369]
BLOCKQUOTE>
Да, на самом деле, std::map::erase()
возвращает size_type, который указывает на количество стертых ключей. Таким образом это возвращается 0 ни для чего стертого и 1 для чего-то стертого для карты.
Это прекрасно подходит, mymap.erase ('D') возвратится 0 в этом случае.