如何让double值保留两位小数(10分)

  • 主题发起人 主题发起人 ★蓝天★
  • 开始时间 开始时间

★蓝天★

Unregistered / Unconfirmed
GUEST, unregistred user!
两个double的数进行相加后,如果得到一个小数的话,他就会有一长串的小数位,比方说,
3.2+3.6应该为6.8,可现在却为6.80000000000022。问如何让数保留两位小数?
 
1/你可以用Format转换一下!我在网吧没有程序可调!!(源码省略,参数记不清了!)
2/自己随便转换一下行吗?
var
i,j,sum:do
uble;
str: String;
begin
i := 3.2;
j := 3.6;
sum := FloatToStr(i + j);

str := FloatToStr(sum);

str := copy(str, 1, Pos('.',str) + 2);
sum := StrToFloat(str);//转换后
end;
 
var
f1,f2,sum:double;
str:string;
begin
f1:=3.2;
f2:=3.6;
sum:=strtofloat(formatFloat('0.##',f1+f2));
end;
 
我想他说的是java中吧,不是delphi里的问题
 
利用format函数来处理。
format('%8.2f',[aa]);
 
import java.text.DecimalFormat;
double sum=234.34334;
double rate=new DecimalFormat("0.##").format(sum);
看看rate的结果。
 
format('%8.2f',[aa]);
 
接受答案了.
 
后退
顶部