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
相关产品推荐
相关产品推荐

