如果我有一个数字52000000000,并且我想将其打印为5.2E + 9,我该如何使用printf?
答案 0 :(得分:3)
由于这是一种简单的方法,我将引导您完成它。
你需要两个计数器:一个用于数字本身(类型为double,我们称之为'num'),一个用于指数(整数,让我们称之为exp)。你需要一个while循环,当num大于10时,将num除以10并将exp增加1.因此,像7600这样的东西应该有num = 7.6,exp = 3.
根据您的返回类型,您可以通过多种方式返回这些值。一种简单的方法是返回类型字符串并返回num +“E”+ exp。
答案 1 :(得分:1)
这可以用printf(“%。2g”,52000000000)完成; “g”是用于格式化的科学记数法的转换字符,“。2”指定精度。
答案 2 :(得分:0)
您需要查看此内容:DecimalFormat
formatter = new DecimalFormat("0.#E0");
System.out.println(formatter.format(value));//value is where you store the number to be formatted