gpt4 book ai didi

java - 打印命令输出

转载 作者:行者123 更新时间:2023-11-30 21:41:24 26 4
gpt4 key购买 nike

这是 C 程序的代码片段。

#include <stdio.h>

int main(int argc, char *argv[]) {

float kk=2*3/4+4/4+8-2;
printf("%f",kk);
}

该程序的输出是8.000000

用 JAVA 8 编写的相同代码。

class Untitled {
public static void main(String[] args) {
float kk=2*3/4+4/4+8-2;
System.out.println("\n----- Converting to the precision -----\n");
System.out.printf("%f",kk);
System.out.println("\n----- Converting to the Integer -----\n");
System.out.println(kk);
}
}

使用 println 方法,该程序的输出为 8.0。 printf 方法以适当的精度返回值。从打印流文档中,我不明白编译器是如何失去精度的。我希望能有一些警告或通知丢失精度的信息。,关于如何识别这些类型的陷阱有什么想法吗?提前致谢。

最佳答案

如果您查阅 C 语言中的 printf 和 Java 语言中的 System.out.println 的文档,您会发现它们以不同的方式格式化输出。这是因为它们完全不同,我不确定您为什么期望它们产生相同的结果。

如果您希望在 Java 中使用 printf 样式格式,请考虑使用 String.format() 来格式化输出,或使用 System.out.printf(),这仍然可能需要显式格式宽度与 C 中 printf 的默认行为相同( which is 6 decimal places if not explicitly specified ,因此您的 8.000000)。

关于java - 打印命令输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19800909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com