是否有任何函数可以在 Java 中截断双精度数?

新手上路,请多包涵

是否有可用于将数字截断为任意小数位数的 Java 库函数?例如。

 SomeLibrary.truncate(1.575, 2) = 1.57

谢谢

原文由 user63904 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 475
2 个回答

像这样尝试 BigDecimal 的 setScale:

 public static double round(double d, int decimalPlace) {
    BigDecimal bd = new BigDecimal(d);
    bd = bd.setScale(decimalPlace, BigDecimal.ROUND_HALF_UP);
    return bd.doubleValue();
}

原文由 raoulsson 发布,翻译遵循 CC BY-SA 2.5 许可协议

令人难以置信的是,到目前为止还没有人提出这个问题,Java API 已经为这个确切的目的使用了 DecimalFormat 很长时间了。

原文由 Esko 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题