当前位置: 首页 > 面试题库 >

在Java中是否有用于截断double的函数?

崔绍辉
2023-03-14
问题内容

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

SomeLibrary.truncate(1.575, 2) = 1.57

谢谢


问题答案:

像这样尝试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();
}


 类似资料:
  • 做 截断如果它已经存在?令人惊讶的是,Java的API留档没有说。API也不会留档Java7。语言本身的规范对类的语义学没有什么可说的。 我知道 导致附加到文件。但附加和截断并不是唯一的可能性。如果将100个字节写入1000字节的文件,一种可能性是最后900个字节保持原样。

  • 在更改MySql列的数据类型以存储Twilio调用ID(34个字符字符串)后,我尝试使用以下命令手动更改该列中的数据: 但是,我收到一个错误,看到列的数据类型被正确修改而没有意义?

  • 问题内容: 当执行以下SQL查询时: 引发以下错误: 如何解决这个问题? 表结构: 问题答案: 您不需要关键字。这是UPDATE语句的正确语法:

  • 问题内容: 我是Java新手。我试图找出一个数字是否为Double,如下所示: 如果有人能告诉我如何重新排列语法以使其正常工作,将不胜感激。 问题答案: 试试这个:

  • 问题内容: Utilities.getDistance返回double,而getAttackRange返回int。上面的代码是if语句的一部分,它必须为true。那比较有效吗? 谢谢 问题答案: 是的,它是有效的-这将推动到执行比较之前。 请参阅JLS第15.20.1节(数值比较运算符),该链接链接到JLS第5.6.2节(二进制数值提升)。 从后者: 扩展原语转换(第5.1.2节)适用于转换以下规

  • 我计划为 EJB 编写一个拦截器,它基本上可以执行以下操作: 问题是,如果em.flush()应用于用@TransactionAttribute(NOT _ SUPPORTED)或@TransactionAttribute(SUPPORTS)注释的方法(即只读方法),它会引发异常,而它在使用默认@ transaction attribute(必需)的方法(即更改数据库的方法)时工作良好。 有没有办