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

Java Printf如何动态设置输出的小数位数?

动态设置printf小数保留位数的可行方法

你可以用两种方式实现动态指定小数位数的格式化:

  • 方式一:动态拼接格式字符串
    先根据用户输入的位数N,拼接出对应的格式化字符串,再传入printf使用:

    int decimalPlaces = 3; // 用户指定的小数位数
    double num = 123.456789;
    String format = "%." + decimalPlaces + "f";
    System.out.printf(format, num); // 输出结果:123.457
    
  • 方式二:使用printf的动态宽度语法
    Java的printf支持%.*f这种格式,其中*会被后续的整数参数替换为小数保留位数,无需拼接字符串,更简洁:

    int decimalPlaces = 4;
    double num = 98.7654321;
    System.out.printf("%.*f", decimalPlaces, num); // 输出结果:98.7654
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 02:47:38