计算小数点后两位问题.在线等待. ( 积分: 50 )

  • 主题发起人 主题发起人 wuyi10
  • 开始时间 开始时间
W

wuyi10

Unregistered / Unconfirmed
GUEST, unregistred user!
愁死了,已经一个上午在为0.07发愁了.
我在STRINGGRID的SetEditText事件里写了计算的公式.
在编写4列时,5列就显示根据四列的值计算的值
FloatToStrF(StrToFloat(StrToNum(FormatCellNum(StringGrid_output.Cells[6,StringGrid_output.Row],3,2))),ffFixed,3,2)
本来结果该是193.93 却显示 194.00
 
愁死了,已经一个上午在为0.07发愁了.
我在STRINGGRID的SetEditText事件里写了计算的公式.
在编写4列时,5列就显示根据四列的值计算的值
FloatToStrF(StrToFloat(StrToNum(FormatCellNum(StringGrid_output.Cells[6,StringGrid_output.Row],3,2))),ffFixed,3,2)
本来结果该是193.93 却显示 194.00
 
FormatFloat('0.##',StrToFloat(StrToNum(FormatCellNum(StringGrid_output.Cells[6,StringGrid_output.Row],3,2))))

我没弄清楚你的语句,不能这样么?
FormatFloat('0.##',StrToFloat(stringgrid_output.cells[6,stringgrid_output.row]))
 
用formatFloat试一下看啊,估计这个函数能达到你的效果!
 
我试过的,
因为在4列里有格式. 4: Value := '!099.99;1;_';
所以只用formatFloat,它没法判断在未完成81.45 的时候,如写到8的时候,就显示'8..'
不是有效的FLOAT POINT..
 
后退
顶部