Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 图形浮动和控制小数点_Java - Fatal编程技术网

Java 图形浮动和控制小数点

Java 图形浮动和控制小数点,java,Java,如果运行此程序,您将注意到显示摄氏度转换的表格看起来很时髦。我一直想让它停在第十位。如果有任何反馈,我将不胜感激。提前谢谢 输出: 渲染温度的代码应如下所示: String Fahrenheit = String.valueOf(tempF[index]); double tempC = (tempF[index] - 32) * (5/9.0); String formattedCelcius = String.format("%.1f", tempC); g.drawString(Fahre

如果运行此程序,您将注意到显示摄氏度转换的表格看起来很时髦。我一直想让它停在第十位。如果有任何反馈,我将不胜感激。提前谢谢

输出:


渲染温度的代码应如下所示:

String Fahrenheit = String.valueOf(tempF[index]);
double tempC = (tempF[index] - 32) * (5/9.0);
String formattedCelcius = String.format("%.1f", tempC);
g.drawString(Fahrenheit, y, x);
g.drawString(formattedCelcius, y1, x1);
在代码中,您做到了:

String.format("%.1f", Celsius);
而不是:

String.format("%.1f", tempC);
我希望区别很明显 %f格式说明符需要一个类似tempC的双参数,但您传递的是字符串


这导致了java.util.IllegalFormatConversionException:f!=您可能没有看到的java.lang.String异常被抛出到Swing事件线程中,该线程中止了其余的绘制方法。

感谢大家的反馈。我找到了解决办法。数学课上有一个函数轮,它完成了这个技巧。我把这个放进去,它解决了这个问题:

double tempC = (tempF[index] - 32) * (5/9.0);
double c = Math.round(tempC);
更改此选项后,我将获得正确的输出:

再次感谢大家的反馈

致以最良好的祝愿


DDKGM

为什么要注释掉字符串FormattedCelcius=String.format%.1f,Celsius?当我把它放进去的时候,不知什么原因,它掩盖了一切。程序运行并编译,但它根本不会显示任何内容。请向我们显示您获得的输出和您期望的输出。我们不必运行您的代码来查看它。请使用以下命令重试:String formattedcelcius=String.format%.1f,tempC;-您不能将字符串传递给%f格式规范,您需要传递一个double。@DDKGM您没有传递tempC。您通过的是摄氏度,这是一个字符串。谢谢您的澄清。我完全明白你在说什么。我纠正了这个问题,现在它编译时没有出现错误,但仍然生成相同的输出。代码中似乎有什么东西绕过了format调用。我不知道是什么。你也改变了这行:g.drawStringformattedCelcius,y1,x1?您需要绘制格式化的摄氏度,而不是摄氏度
double tempC = (tempF[index] - 32) * (5/9.0);
double c = Math.round(tempC);