从摄氏度计算华氏温度的简单程序,但这可以不使用math.round()吗?
public class CelsiusZuFahreheit {
public static void main (String [] args){
System.out.println("Temperature-Calculation");
System.out.println("=======================");
System.out.println("C F");
System.out.println("---------");
for(int celsius = 0; celsius<=100; celsius+=3){
float fahrenheit = (float)celsius * 9/5 + 32;
int rFahrenheit = Math.round(fahrenheit);
System.out.printf("%3d %5d\n", celsius, rFahrenheit);
}
}
}
答案 0 :(得分:2)
怎么样:
System.out.printf("%3d %5.0f\n", celsius, fahrenheit);
由于您仅仅为了演示目的而将值四舍五入,因此将此逻辑转换为字符串格式是有意义的。
此外,将值保持为一般两倍可能是一个好主意,因为83.23仍然是一个有效的温度值(如果您的要求发生变化,您需要打印2个小数位,它只会改变1个字符)。 / p>
答案 1 :(得分:0)
试一试:
int rFahrenheit = (int) (fahrenheit + (fahrenheit>=0 ? 0.5 : -0.5));
答案 2 :(得分:0)
您可以将华氏度转换为字符串格式。然后检查点字符。然后您可以打印该值,直到点字符