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

如何让String.format根据用户输入的小数位数格式化平方根结果?

动态控制平方根结果的小数位数

核心思路是动态构造格式化字符串,不再使用固定的"%.5f",而是根据用户输入的小数位数nKomma拼接出对应的格式模板。

实现代码示例

import java.util.Scanner;

public class SqrtFormatter {
    public static void main(String[] args) {
        double dVar = 16.0; // 示例变量,可替换为实际需要计算平方根的数值
        double dSqrt = Math.sqrt(dVar);
        
        Scanner sc2 = new Scanner(System.in);
        System.out.print("请输入要保留的小数位数:");
        int nKomma = sc2.nextInt();
        
        // 动态生成格式化模板
        String formatPattern = "%." + nKomma + "f";
        String formattedResult = String.format(formatPattern, dSqrt);
        
        System.out.println("平方根结果:" + formattedResult);
        sc2.close();
    }
}

注意事项

  • 建议添加输入校验,确保用户输入的nKomma是非负整数,避免非法输入导致的格式化异常:
    if (nKomma < 0) {
        System.err.println("错误:小数位数不能为负数");
        return;
    }
    
  • 格式化规则只支持整数位数的小数保留,若用户输入非整数的位数需求,需要额外做参数转换或提示处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 12:15:55