You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中仅用数学方法分离double变量的整数与小数部分(非字符串/对象)

Java纯数学运算分离double的整数与小数部分

针对你需要将double类型变量a=13.564仅通过数学运算分离为整数部分int b=13和小数转换后的int c=564的需求,以下是具体实现:

代码实现与解释

1. 获取整数部分b

对于正数的double值,直接强制类型转换为int即可自动截断小数部分,得到整数部分:

double a = 13.564;
int b = (int) a; // 结果为13

注意:如果变量a可能为负数,强制转换会向零截断(比如-13.564转int得到-13),若需要向下取整的整数部分,可改用Math.floor(a)后再转int。

2. 获取小数转换后的整数c

先计算出纯小数部分,再乘以1000(对应三位小数转整数),最后用Math.round()处理浮点精度误差后转int:

double decimal = a - b;
int c = (int) Math.round(decimal * 1000); // 结果为564

为什么用Math.round()?因为double的浮点运算可能存在精度偏差,比如13.564 - 13理论上是0.564,但实际计算可能得到0.5639999999999999,直接转int会得到563,round()可以修正这种误差,保证结果正确。

内容的提问来源于stack exchange,提问作者19D4239 M.SAIPRASAD REDDY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 05:41:19