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





