如何处理浮点数精度点 实现整数型浮点数按需格式化输出
浮点数格式化输出实现方案
核心判断逻辑:校验浮点数的小数部分是否为0,若为0则输出对应整数,否则保留原有浮点格式输出。
Python 实现
直接调用浮点内置的is_integer()方法判断即可:
def format_float(num: float) -> int | float: return int(num) if num.is_integer() else num # 测试用例 print(format_float(70.0)) # 输出 70 print(format_float(70.1)) # 输出 70.1
注意:如果涉及高精度计算场景,建议先对浮点数做精度截断/舍入处理,避免70.0000000000001、69.99999999999999这类浮点精度误差导致判断错误。
JavaScript 实现
function formatFloat(num) { return Number.isInteger(num) ? parseInt(num, 10) : num; } // 测试用例 console.log(formatFloat(70.0)) // 输出 70 console.log(formatFloat(70.1)) // 输出 70.1
Java 实现
public class FloatFormatter { public static String formatFloat(double num) { // 取模判断小数部分是否为0 if (num % 1 == 0) { return String.valueOf((long) num); } return String.valueOf(num); } public static void main(String[] args) { System.out.println(formatFloat(70.0)); // 输出 70 System.out.println(formatFloat(70.1)); // 输出 70.1 } }
内容的提问来源于stack exchange,提问作者Aayu Khare
相关产品推荐
相关产品推荐

