编写程序,从控制台读入double型的摄氏温度,然后将其转换为华氏温度,并且显示结果。转换公式如下所示: Fahrenheit = (9/5) * Celsius +32 (华氏度=(9/5)*摄氏度+32)
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
double temp1=in.nextDouble();
double temp2=(9*temp1/5)+32;
DecimalFormat f = new DecimalFormat("#.#") ;
String result = f.format(temp2);
System.out.println(temp1+" Celsius is "+result+" Fahrenheit");
in.close();
}
}
对其中的DecimalFormat的浅析
在构造DecimalFormat时有着不同的方法,用#和0有着不同的效果
使用0时会补0,使用#时不会补0.
当转化温度为43.222时,精确结果为 109.7996 Fahrenheit
下面以不同的方法来对小数变形:
eg.
DecimalFormat f = new DecimalFormat(“0.000”) ;
结果为 43.222 Celsius is 109.800 Fahrenheit
DecimalFormat f = new DecimalFormat(“0.0000”) ;
结果为 43.222 Celsius is 109.7996 Fahrenheit
DecimalFormat f = new DecimalFormat(“0.###”) ;
结果为 43.222 Celsius is 109.8 Fahrenheit
DecimalFormat f = new DecimalFormat(“0.####”) ;
结果为 43.222 Celsius is 109.7996 Fahrenheit