首页 > 解决方案 > 如何使用变量 INT 打印 DOUBLE

问题描述

我正在做我的学校作业,我被卡住了。我将变量设置为 INT,现在我无法更改它,因为我将它用于其他计算。有没有办法可以在点后打印 3 个数字?我试过了printf(double)但没有用。

这是我的一段代码:

for (int i = 0; i < 2; i++) // Printing Inverse
{
    System.out.print("[");
    output.print("[");
    for (int j = 0; j < 2; j++) {
        sol[i][j] = adj[i][j] / det;
        System.out.printf((double) sol[i][j] + " ");
        output.print((double)sol[i][j] + " ");
    }
}

标签: javacastingformattingintdouble

解决方案


有没有办法可以在点后打印 3 个数字?我尝试使用 printf 和 (double) 但它没有用。

好吧,铸造inttodouble不足以获得预期的输出。

要打印double带有三位小数的转换,您需要%3f在方法中使用作为第一个参数printf,如下所示:

System.out.printf("%.3f", (double) sol[i][j]);

这是一个现场工作演示

笔记:

请注意,除法的结果sol[i][j] = adj[i][j] / det;将是 a double,因此您需要将变量声明为double而不是int避免出现异常。


推荐阅读