Basic pascal floating-point 类型(真实)增量似乎无法正常工作
Basic pascal floating-point type (real) incrementation seems to not work properly
r:=2.1;
while r <> 4.3 do
begin
r:= r + 0.1;
writeln(r);
end;
其中 r 是实型,但它不会工作并在科学通知中打印“r”。
我不知道,也许这是编译器舍入错误或类似的问题
我是 Pascal 的初学者(实际上被迫使用它,我真的很讨厌)
输出是
艾德奥内link:
http://ideone.com/fY5AYM
我通过替换
修复了它
while r <> 4.3
和
while r < 4.4
但仍然不是真正的解决方案
我想我对编译器无能为力
如果你想在 Pascal 中有精确的小数,你必须使用 currency
类型。
program Zadanie2;
var r : currency;
begin
r:=2.1;
while r <> 4.3 do
begin
r:= r + 0.1;
writeln(r:0:2);
end;
end.
现在输出结束于 4.30
。
如您所见,我还更改了格式,因此您看不到科学记数法。
代码和结果:
http://ideone.com/Hf65v2
r:=2.1;
while r <> 4.3 do
begin
r:= r + 0.1;
writeln(r);
end;
其中 r 是实型,但它不会工作并在科学通知中打印“r”。
我不知道,也许这是编译器舍入错误或类似的问题 我是 Pascal 的初学者(实际上被迫使用它,我真的很讨厌)
输出是
艾德奥内link: http://ideone.com/fY5AYM
我通过替换
修复了它while r <> 4.3
和
while r < 4.4
但仍然不是真正的解决方案
我想我对编译器无能为力
如果你想在 Pascal 中有精确的小数,你必须使用 currency
类型。
program Zadanie2;
var r : currency;
begin
r:=2.1;
while r <> 4.3 do
begin
r:= r + 0.1;
writeln(r:0:2);
end;
end.
现在输出结束于 4.30
。
如您所见,我还更改了格式,因此您看不到科学记数法。
代码和结果: http://ideone.com/Hf65v2