当前位置: 首页 > 知识库问答 >
问题:

Math.Round被忽略[重复]

朱浩大
2023-03-14
    double energy, mass;
    double speedOfLight = 299792458.0;
    // Get mass
    System.out.print("Mass? ");
    mass = keyboard.nextDouble();
    // Calculate energy
    energy = mass*Math.pow(speedOfLight, 2);
    // Round to 1 decimal place
    energy = Math.round(energy * 10.0) / 10.0;
    System.out.printf("The energy is " +energy+ " Joules");
    // Close scanner
    keyboard.close();

它正在返回,“能量是8.987551787368176E16焦耳”,而它应该返回,“能量是89875517873681760.0焦耳”

共有1个答案

朱炳
2023-03-14

math.round按预期工作,返回最接近的整数(但输出是科学符号)。问题出在号码的印刷上。您可以使用printf的格式说明符以所需格式打印数字:

System.out.printf("The energy is %.1f Joules", energy);
 类似资料:
  • 我的文件似乎被Git忽略了-文件是否已损坏?Git期望哪种文件格式、区域设置或区域性? 我的: 的输出: 我希望和不出现在“未跟踪文件”列表中。 我应该从哪里开始寻找解决这个问题?

  • 我有以下控制器: 我启用了Spring Actuctor的endpoint,甚至可以看到被忽略的endpoint是可用的: 编辑我添加了一个拦截器,使我能够查看目标将是什么。 是正确的: 对于并不期望参数,但spring仍然因此抛出错误这一事实,我无法全神贯注。

  • 问题内容: 以下代码是从文档中复制的。我应该能够查看所有信息日志。但是我没有。即使将setLevel设置为INFO,我也只能看到警告和以上内容。 为什么会这样呢?: 输出: 信息和调试消息到哪里去了? 问题答案: 更换线 与 它应该可以按预期工作。如果您不使用任何处理程序来配置日志记录(如您的帖子中所示,您只为记录器配置一个级别,但在任何地方都没有处理程序),则将获得一个“不得已使用”的内部处理程

  • 问题内容: 但是,当我删除WHERE时,查询会停止使用该键(即使我明确地强制使用该键也是如此) 有什么解决方法吗? 我意识到我在第二个示例中选择了整个表,但是为什么mysql突然决定它还是要忽略我的FORCE而不使用键?没有密钥,查询大约需要10分钟。 问题答案: FORCE有点用词不当。这是MySQL文档所说的(重点是我的): 您还可以使用FORCE INDEX,其作用与USE INDEX(in

  • 我试图使用Jackson注释来重新命名序列化过程中产生的一些json标签。所有注释都编译得很好,当我运行时,除了所有Jackson注释之外,Jackson序列化工作完全被忽略。即使像@jsonignore或@jsonproperty这样的基本命令对json响应也没有影响。构建路径中的库有: 下面是我需要序列化的一个类的代码示例: