由于Java的float和double数值,在进行计算时,无法保证数据的精度,四舍五入的需要就迫切需要。 当然,用long再除以100也不错,但比较麻烦。 或采用BigDecimal也将会是一个比较好的选择,但其不可变的特性又使得计算中长生大量的垃圾对象。如果程序中需要进行计算,有想保持精度,那就使用一个四舍五入来处理吧。
这是一个个人编写的用于数值计算后四舍五入的小程序。
public class MathUtil
{
public static int devide(int x, int y)
{
float f = x;
return Math.round(f / y);
}
public static long devide(long x, long y)
{
double d = x;
return Math.round(d / y);
}
public static float round(float f, int bit)
{
float p = (float)pow(bit);
return (Math.round(f * p) / p);
}
public static double round(double d, int bit)
{
double p = pow(bit);
return (Math.round(d * p) / p);
}
private static long pow(int bit)
{
return Math.round(Math.pow(10.0D, bit));
}
}
分享到:
相关推荐
4. **divide(BigDecimal v1, BigDecimal v2)**: 这个方法执行相对精确的除法运算,保留默认的小数点后两位,并使用BigDecimal.ROUND_HALF_UP作为舍入模式,这意味着当需要舍入时,会倾向于更接近的偶数。如果除数为0...
Mathutil 有用的数学函数的集合。 源代码中的文档。 安装 只需安装到您的项目中: sampctl package install ScavengeSurvive/mathutil 包括在您的代码中并开始使用该库: #include < mathutil> 测验 要测试,只...
Java开发中中经常使用的Java工具类分享,工作中用得上,直接拿来使用,不用重复造轮子。
为了处理浮点数计算后的精度问题,`MathUtil`类可能包含`round()`方法,用于对结果进行四舍五入,如`int round(double value)`。 7. **最大值和最小值**: 类中可能包含`max()`和`min()`方法来找出两个或多个数值...
给定一个ModuleScript,它公开一个函数以四舍五入一个数字: game.ReplicatedStorage.MathUtil local Math = {} function Math.round(numberToRound) return math.floor(numberToRound + 0.5) end return Math 您...
6. **数学运算**:MathUtil提供了数学计算相关的函数,如随机数生成、最大最小值查找、四舍五入等。 7. **线程控制**:ThreadUtil则包含了一系列线程操作的辅助方法,如线程的启动、暂停、恢复、中断和销毁。 8. *...
const mathUtil = xmsBasicUtil.mathUtil; 因为导入后把库赋值给xmsBasicUtil变量,所以使用xms-basic-util都通过变量xmsBasicUtil 因为xms-basic-util库里有多个工具类集合,通过xmsBasicUtil.dateFormat获取日期...
MathUtil
7. **数学计算**:`MathUtil`提供了数学计算相关的函数,包括随机数生成、最大值最小值查找、四舍五入等。 8. **其他工具**:还有如`RandomUtil`用于生成随机数,`StringUtil`处理字符串,`RegexUtil`进行正则...
### 四、方法调用时参数的传递问题 #### 1. 参数传递机制 - Java中的方法调用采用的是“值传递”而非“引用传递”。 - 对于基本数据类型,传递的是该值的一个副本;对于引用类型,传递的是指向对象的引用的副本。 ...
例如,`round()`方法可以进行四舍五入的计算。 6. **网络工具类(NetworkUtil)**:这类工具类可能涉及IP地址处理、URL解析、HTTP请求等网络相关的操作。例如,`getLocalHost()`获取本地主机名,`isValidUrl()`验证...
#### 四、创建和运行单元测试案例 接下来,我们按照给定的部分内容介绍如何在 Eclipse 中创建并运行单元测试: 1. **建立含有 abs 方法的类**:首先,创建一个 Java 类,其中包含一个名为 `abs` 的方法。例如: `...
- **类型**:根据定义位置的不同,内部类分为四种类型——成员内部类、局部内部类、静态内部类和匿名内部类。 以上就是从给定的文件标题、描述及部分内容中提取出来的关键Java知识点及其详细解释。这些知识点对于...
在`MathUtil`接口中,我们声明了四个类方法,每个方法接收两个`double`类型的参数,并返回一个结果。`+`符号表示这是一个类方法,而`-`符号通常用于表示实例方法。 接下来,我们需要实现这些方法。这通常在类的实现...
在这个项目中,每个数学工具可能被封装为一个独立的类,比如`MathUtil`。 - 异常处理:Java提供异常处理机制,通过`try-catch`块来捕获并处理运行时可能出现的错误。 - 标准库:Java标准库(JDK)提供了丰富的数学...
- 随机数生成、数学运算优化,比如MathUtil。 - 统计计算,如平均值、中位数、标准差等,可能在StatisticalUtil类里。 6. **反射和注解处理**: - 类型检查、实例化、获取字段和方法,可能有ReflectUtil。 - ...