题目:
一部儿童电视剧共m分钟,分n集播放,每集大约播放多长时间?(四舍五入)
输入样例:336 8
输出样例:42
package com.item.action; import java.util.Scanner; /** * * @author hongmuxiangxun 红目香薰 付文龙 老师付 laoshifu * */ public class demo3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int m = sc.nextInt(); int n = sc.nextInt(); sc.close(); double result=m*1.0/n; System.out.println(String.format("%.2f", result)); } }
四舍五入知识点:
1、使用精确小数BigDecimal
2、DecimalFormat转换最简便
3、String.format打印最简便
4、使用NumberFormat
package com.item.action; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; /** * * @author hongmuxiangxun 红目香薰 付文龙 老师付 laoshifu * 保留两位小数第三位如果大于4会进一位(四舍五入) */ public class DoubleTest { static double f = 3.14567; /** * 使用精确小数BigDecimal */ public static void fun1() { BigDecimal bg = new BigDecimal(f); /** * 参数: newScale - 要返回的 BigDecimal 值的标度。 roundingMode - 要应用的舍入模式。 返回: 一个 * BigDecimal,其标度为指定值,其非标度值可以通过此 BigDecimal 的非标度值乘以或除以十的适当次幂来确定。 */ double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println("setScale:"+f1); } /** * DecimalFormat转换最简便 */ public static void fun2() { DecimalFormat df = new DecimalFormat("#.00"); System.out.println("DecimalFormat:"+df.format(f)); } /** * String.format打印最简便 */ public static void fun3() { System.out.println("String.format推荐:"+String.format("%.2f", f)); } /** * 使用NumberFormat */ public static void fun4() { NumberFormat nf = NumberFormat.getNumberInstance(); /** * setMaximumFractionDigits(int newValue) 设置数的小数部分所允许的最大位数。 */ nf.setMaximumFractionDigits(2); System.out.println("NumberFormat:"+nf.format(f)); } public static void main(String[] args) { fun1(); fun2(); fun3(); fun4(); } }