Android java.util.IllegalFormatConversionException: d != java.lang.Double

原因:使用占位符时使用了%1$d,然后传入的数值为double类型的数值,所以导致报错

解决方法:
直接使用  %1$s进行占位,传入的值使用String.valueOf()转换。

其他类型占位符:

        // %s 字符串类型
        String string1 = String.format("你好呀,我是%s,请问你是%s吗?", "张三", "李四");
        System.out.println("string1 = " + string1);
 
        // %c 字符类型
        String string2 = String.format("字母%c", 'a');
        System.out.println("string2 = " + string2);
 
        // %b 布尔类型
        String string3 = String.format("布尔型%b", false);
        System.out.println("string3 = " + string3);
 
        // %d 整数类型(十进制)
        String string4 = String.format("数字%d", 3);
        System.out.println("string4 = " + string4);
 
        // %f 浮点类型
        String string5 = String.format("数字%f", 3.0);
        System.out.println("string5 = " + string5);