- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在帮助 friend 编写一个简单的 Java 入门类(class),编写将华氏度转换为摄氏度的代码。
我很惊讶地看到,System.out.printf()
似乎对我的结果进行了四舍五入,例如-17.7..
变为 -17.77778
并以 %.5f
作为格式字符串。是否一直如此,因为我相信要记住它会截断浮点值?
为清楚起见,这里有一个代码片段:http://ideone.com/LGq0wt
public class Main
{
public static void main(String[]args)
{
int k;
for(k=0;k<=300;k++)
{
System.out.format("%d\t\t%.5f\n",k, (5f/9f) * ((float)k - 32f));
}
}
}
输出:
0 -17.77778
1 -17.22222
2 -16.66667
3 -16.11111
4 -15.55556
5 -15.00000
6 -14.44444
7 -13.88889
8 -13.33333
9 -12.77778
10 -12.22222
11 -11.66667
12 -11.11111
13 -10.55556
14 -10.00000
15 -9.44444
16 -8.88889
17 -8.33333
18 -7.77778
19 -7.22222
20 -6.66667
21 -6.11111
22 -5.55556
23 -5.00000
24 -4.44444
25 -3.88889
26 -3.33333
27 -2.77778
28 -2.22222
29 -1.66667
30 -1.11111
31 -0.55556
32 0.00000
33 0.55556
34 1.11111
35 1.66667
36 2.22222
37 2.77778
38 3.33333
39 3.88889
40 4.44444
41 5.00000
42 5.55556
43 6.11111
44 6.66667
45 7.22222
46 7.77778
47 8.33333
48 8.88889
49 9.44444
50 10.00000
51 10.55556
52 11.11111
53 11.66667
54 12.22222
55 12.77778
56 13.33333
57 13.88889
58 14.44444
59 15.00000
60 15.55556
61 16.11111
62 16.66667
63 17.22222
64 17.77778
65 18.33333
66 18.88889
67 19.44444
68 20.00000
69 20.55556
70 21.11111
71 21.66667
72 22.22222
73 22.77778
74 23.33333
75 23.88889
76 24.44445
77 25.00000
78 25.55556
79 26.11111
80 26.66667
81 27.22222
82 27.77778
83 28.33333
84 28.88889
85 29.44445
86 30.00000
87 30.55556
88 31.11111
89 31.66667
90 32.22223
91 32.77778
92 33.33334
93 33.88889
94 34.44445
95 35.00000
96 35.55556
97 36.11111
98 36.66667
99 37.22223
100 37.77778
101 38.33334
102 38.88889
103 39.44445
104 40.00000
105 40.55556
106 41.11111
107 41.66667
108 42.22223
109 42.77778
110 43.33334
111 43.88889
112 44.44445
113 45.00000
114 45.55556
115 46.11111
116 46.66667
117 47.22223
118 47.77778
119 48.33334
120 48.88889
121 49.44445
122 50.00000
123 50.55556
124 51.11111
125 51.66667
126 52.22223
127 52.77778
128 53.33334
129 53.88889
130 54.44445
131 55.00000
132 55.55556
133 56.11111
134 56.66667
135 57.22223
136 57.77778
137 58.33334
138 58.88889
139 59.44445
140 60.00000
141 60.55556
142 61.11111
143 61.66667
144 62.22223
145 62.77778
146 63.33334
147 63.88889
148 64.44445
149 65.00000
150 65.55556
151 66.11111
152 66.66667
153 67.22223
154 67.77778
155 68.33334
156 68.88889
157 69.44445
158 70.00000
159 70.55556
160 71.11111
161 71.66667
162 72.22223
163 72.77778
164 73.33334
165 73.88889
166 74.44445
167 75.00000
168 75.55556
169 76.11111
170 76.66667
171 77.22223
172 77.77778
173 78.33334
174 78.88889
175 79.44445
176 80.00000
177 80.55556
178 81.11111
179 81.66667
180 82.22223
181 82.77778
182 83.33334
183 83.88889
184 84.44445
185 85.00001
186 85.55556
187 86.11111
188 86.66667
189 87.22223
190 87.77778
191 88.33334
192 88.88889
193 89.44445
194 90.00001
195 90.55556
196 91.11111
197 91.66667
198 92.22223
199 92.77778
200 93.33334
201 93.88889
202 94.44445
203 95.00001
204 95.55556
205 96.11111
206 96.66667
207 97.22223
208 97.77779
209 98.33334
210 98.88889
211 99.44445
212 100.00001
213 100.55556
214 101.11111
215 101.66667
216 102.22223
217 102.77779
218 103.33334
219 103.88889
220 104.44445
221 105.00001
222 105.55556
223 106.11111
224 106.66667
225 107.22223
226 107.77779
227 108.33334
228 108.88889
229 109.44445
230 110.00001
231 110.55556
232 111.11111
233 111.66667
234 112.22223
235 112.77779
236 113.33334
237 113.88889
238 114.44445
239 115.00001
240 115.55556
241 116.11111
242 116.66667
243 117.22223
244 117.77779
245 118.33334
246 118.88889
247 119.44445
248 120.00001
249 120.55556
250 121.11111
251 121.66667
252 122.22223
253 122.77779
254 123.33334
255 123.88889
256 124.44445
257 125.00001
258 125.55556
259 126.11111
260 126.66667
261 127.22223
262 127.77779
263 128.33334
264 128.88890
265 129.44446
266 130.00000
267 130.55556
268 131.11111
269 131.66667
270 132.22223
271 132.77779
272 133.33334
273 133.88890
274 134.44446
275 135.00000
276 135.55556
277 136.11111
278 136.66667
279 137.22223
280 137.77779
281 138.33334
282 138.88890
283 139.44446
284 140.00000
285 140.55556
286 141.11111
287 141.66667
288 142.22223
289 142.77779
290 143.33334
291 143.88890
292 144.44446
293 145.00000
294 145.55556
295 146.11111
296 146.66667
297 147.22223
298 147.77779
299 148.33334
300 148.88890
最佳答案
For the floating-point conversions 'a', 'A', 'e', 'E', and 'f' the precision is the number of digits after the radix point. If the conversion is 'g' or 'G', then the precision is the total number of digits in the resulting magnitude after rounding.
所以 printf(它在幕后使用 Formatter)四舍五入并且一直四舍五入。
关于Java - System.out.printf 舍入 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26856148/
我知道问题的标题听起来很奇怪,但我不知道该怎么调用它。 首先,我有一个网格布局,我希望我的 .search-wrapper 宽度为 50% 并向右浮动。在我的演示中 jsfiddle整个 .searc
我们正在使用 QA-C 来实现 MISRA C++ 一致性,但是该工具会为这样的代码喷出错误: float a = foo(); float b = bar(); float c = a - b; 据
考虑 float a[] = { 0.1, 0.2, 0.3}; 我很困惑a稍后传递给函数 foo(float* A) .不应该是 float* 类型的变量指向单个浮点数,对吗?就像这里提到的tu
这可能是我一段时间以来收到的最好的错误消息,我很好奇出了什么问题。 原代码 float currElbowAngle = LeftArm ? Elbow.transform.localRotation
刚开始学习 F#,我正在尝试为 e 生成和评估泰勒级数的前 10 项。我最初编写了这段代码来计算它: let fact n = function | 0 -> 1 | _ -> [1
我已经使用 Erlang 读取二进制文件中的 4 个字节(小端)。 在尝试将二进制转换为浮点时,我一直遇到以下错误: ** exception error: bad argument in
假设我有: float a = 3 // (gdb) p/f a = 3 float b = 299792458 // (gdb) p/f b = 29979244
我每次都想在浏览器顶部修复这个框。但是右边有一些问题我不知道如何解决所以我寻求帮助。 #StickyBar #RightSideOfStickyBar { float : right ; }
我正在研究 C# 编译器并试图理解数学运算规则。 我发现在两种不同的原始类型之间使用 == 运算符时会出现难以理解的行为。 int a = 1; float b = 1.0f; Cons
假设我有: float a = 3 // (gdb) p/f a = 3 float b = 299792458 // (gdb) p/f b = 29979244
Denormals众所周知,与正常情况相比,表现严重不佳,大约是 100 倍。这经常导致 unexpected软件 problems . 我很好奇,从 CPU 架构的角度来看,为什么非规范化必须是 那
我有一个由两个 float 组成的区间,并且需要生成 20 个随机数,看起来介于两个 float 定义的区间之间。 比方说: float a = 12.49953f float b = 39.1123
我正在构建如下矩阵: QMatrix4x3 floatPos4x3 = QMatrix4x3( floatPos0.at(0), floatPos1.at(0), floatPos2.at(0),
给定归一化的浮点数f,在f之前/之后的下一个归一化浮点数是多少。 通过微动,提取尾数和指数,我得到了: next_normalized(double&){ if mantissa is n
关于 CSS“float”属性的某些东西一直让我感到困惑。为什么将“float”属性应用到您希望 float 的元素之前的元素? 为了帮助可视化我的问题,我创建了以下 jsFiddle http://
关于 CSS“float”属性的某些东西一直让我感到困惑。为什么将“float”属性应用到您希望 float 的元素之前的元素? 为了帮助可视化我的问题,我创建了以下 jsFiddle http://
我有一个新闻源/聊天框。每个条目包含两个跨度:#user 和#message。我希望#user 向左浮动,而#message 向左浮动。如果#message 导致行超过容器宽度,#message 应该
我想创建一个“记分卡”网格来输出一些数据。如果每个 div.item 中的数据都具有相同的高度,那么在每个 div.item 上留下一个简单的 float 会提供一个漂亮的均匀布局,它可以根据浏览器大
我正在学习使用 CSS float 属性。我想了解此属性的特定效果。 考虑以下简单的 HTML 元素: div1 div2 This is a paragraph 以及以下 CSS 规则: div {
我正在尝试从可以是 int 或 float 的文件中提取数据。我发现这个正则表达式将从文件 (\d+(\.\d+)?) 中提取这两种类型,但我遇到的问题是它将 float 拆分为两个。 >>> imp
我是一名优秀的程序员,十分优秀!