评估比率表达式

时间:2016-05-03 20:19:24

标签: java

我正在编写一个规则引擎,客户端正在寻找的一个表达式是“小于1:80”

1:80是比率

将比率转换为浮动是一个明智的决定吗?

//psuedo-code
String givenRatio = "1:80";
String[] ratioNums = givenRatio.split(":");
float evalValue = Integer.valueOf(ratioNums[0]) / Integer.valueOf(ratioNums[1]);

2 个答案:

答案 0 :(得分:0)

除法应该是浮点数或双数,用int你可能会丢失信息甚至除以零。 关于保存它,这取决于。在这种情况下(“1:int”)我会把它保存为int常量并相反地划分下一个表达式(ratioNums [1] by ratioNums [0])然后进行比较。 如果它应该改为不同于“1:int”的表达式,例如“80:1”,“2:5”,我会将它保持在float / double(根据需要的精度)并使用原始比较。

答案 1 :(得分:0)

浮动给你约。 6-7十进制数字精度,而双倍给你约。 15-16。双倍的数字范围也更大。

double需要8个字节的存储空间,而float只需4个字节。

Float and double datatype in java

相关问题