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

Android中如何将String/Double转换为Int(去除小数部分)

处理String/Double转Int并去除小数部分的简单方法

嘿,作为Android/Java新手碰到这种类型转换的需求太常见啦!我给你整理了两种场景下最简单的实现方式,完全符合你“去除小数部分”的要求:

1. Double类型直接转Int

如果你的值已经是Double类型(比如JSON解析后直接拿到的Double),强制类型转换就是最直接简单的方式——它会直接截断小数部分,只保留整数位:

// 示例:把6503.04转成Int
Double price = 6503.04;
int intPrice = (int) price; // 结果是6503

// 再比如12.3942
Double num = 12.3942;
int intNum = (int) num; // 结果是12

注意:这种方式是直接截断,不管小数部分是多少(比如12.99也会变成12),如果你的场景只需要去掉小数而不是四舍五入,这个方法完全够用。

2. String类型转Int

如果你的值是带小数的String(比如"6503.04"),有两种简单的路子可选:

方法一:先转Double再转Int

和上面的逻辑一样,先把字符串解析成Double,再强制转Int:

String priceStr = "6503.04";
int intPrice = (int) Double.parseDouble(priceStr); // 结果6503

方法二:分割字符串取整数部分

如果你不想经过浮点类型转换,也可以直接按小数点分割字符串,取前面的部分转成Int:

String priceStr = "6503.04";
// 按小数点分割,取数组第一个元素
int intPrice = Integer.parseInt(priceStr.split("\\.")[0]); // 结果6503

小提醒:如果你的JSON里可能出现不带小数点的字符串(比如"6503"),这个方法也能正常工作,因为split后数组只有一个元素,取第一个就行。

如果担心解析过程中出现异常(比如字符串格式不对),可以套个try-catch块,但如果是JSON解析出来的合法数字字符串,基本不用额外处理~

内容的提问来源于stack exchange,提问作者nyjxrb30

火山引擎 最新活动