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

带数型除法

辛承
2023-03-14
Number modifiedValue = applyTransformation(event.getValue().getValue(),transformation);


private Number applyTransformation(Number value, String transformation) {
    Number dinominator = Integer.parseInt(transformation.substring(transformation.lastIndexOf("/")+1));
    
    Number modifiedValue = value/dinominator; //Produces an error

     return modifiedValue;


  }

错误:“未定义参数类型java.lang.Number,java.lang.Number的运算符/”

对此有什么建议吗?

共有1个答案

王兴腾
2023-03-14

yes除运算符不适用于参数java.lang.Number。但是您可以将Number转换为java.math.BigDecimal,您可以应用这一点。示例代码如下所示。

输出为:

5

public static void main(String[] args) {

    Number result = divideByNumber(10l, 2l);

    //Test data
    result = divideByNumber(10, 2l);
    System.out.println(result);

    result = divideByNumber(10.0, 2l);
    System.out.println(result);

    result = divideByNumber(10.0f, 2l);
    System.out.println(result);

    result = divideByNumber(new BigDecimal("10"), 2l);
    System.out.println(result);
}

static Number divideByNumber(Number n1, Number n2){
    return new BigDecimal(n1.toString()).divide(new BigDecimal(n2.toString()));
}
 类似资料:
  • 问题内容: 我是从Joshua Bloch的google I / O困惑者演讲中得到的。这是代码 这个main方法会引发异常,因为它是原始类型,因此in中的所有泛型都将被删除,因此最终调用而不是。 我的问题是,即使我打电话是不是应该把它调用的方法,因为由于类型擦除,这种方法是有效的并且是类型的不是? 问题答案: 被调用的方法是在编译时定义的,而不是在运行时定义的。 如果在构造函数调用中添加参数,则

  • OracleDoc说泛型是在java中使用调用类型擦除的技术实现的,这就是它的工作原理。 如果类型参数是无界的,则用其边界或对象替换泛型类型中的所有类型参数。因此,生成的字节码只包含普通类、接口和方法 所以,如果我有一个通用类说容器如下: 通过类型擦除处理后,它的等效类将如下所示: 如果这里有错误,请纠正我 类似地,如果a修改上述类,如下所示 这不会相当于??? 如果这是真的,那么我也应该有这样的

  • 我想要一个函数 例如,我们有, 或者在代码中,其中 和 是 32 位有符号整数: 这里有一个棘手的部分:如何有效地实现这一功能(不使用更大的64位值),并且不使用诸如

  • 问题内容: 当我在Python 3.3.0中输入这些表达式时出现问题 好像需要大约浮点数(-3.33)?并在整数除法中四舍五入,但是在模运算中它做的事情完全不同。似乎它返回余数+/- 1并仅根据负操作数所在的位置切换符号。即使在查看本网站上的其他答案之后,我也完全感到困惑!我希望有人也能清楚地解释这一点!这本书说出了一些提示:回想一下这个神奇的公式a =(a // b)(b)+(a%b),但这似乎

  • 我用django模型在MySql中创建了两个表,一个是学生模型,另一个是出勤模型。 我没有在考勤课上给stu添加“on_delete=models.PROTECT”,因为我需要能够在没有保护警告的情况下删除一个学生对象,如果这个学生在考勤课上被定义为来自学生课的外键。 现在,当我删除一个Students对象时,与foreignkey连接的考勤记录也会被删除。 我想做的事情是,我想删除学生对象没有警

  • 问题内容: 我需要存储Medicare APC代码。 我相信格式需要4个数字。前导零是相关的。有什么方法可以通过验证存储此数据类型?我应该如何存储这些数据(varchar(4),int)? 问题答案: (可选)您仍然可以添加检查约束,以确保数据为带前导零的数字。本示例将在Oracle中引发异常。在其他RDBMS中,可以使用正则表达式检查: