【ASP.NET】计算小数出现误差
在spread里,添加一个公式:=6356.41-372117.02+372117.02计算结果是6356.40999999997
6356.41-372117.02为负值,再加上372117.02,出现了问题。
在不设置单元格属性(限制小数位数)下,怎么解决这个问题? 人呢?:~ 回复 1楼study1990的帖子
抱歉,当前这个问题只能通过设置单元格类型小数位来解决。
this.FpSpread1.Sheets.Cells.Formula = "6356.41-372117.02+372117.02";
FarPoint.Web.Spread.DoubleCellType dblc = new FarPoint.Web.Spread.DoubleCellType();
dblc.DecimalDigits = 2;
dblc.FixedPoint = true;
FpSpread1.ActiveSheetView.Cells.CellType = dblc;
回复 3楼iceman的帖子
好吧,谢谢了。:) 回复 3楼iceman的帖子
上面的公式只是几个例子,实际情况,客户不一定想要2位小数,运算几位就保留几位。
比如 =C1(6356.41)-C2(372117.02)+C3(372117.02)来计算的。再得到结果之前,你不知道最终结果有几位小数,所以公式中没办法手动设置小数位。
其次,你们的产品作为一个正式产品,应该是可以解决的。Excel中计算就没有这样的问题。 回复 5楼study1990的帖子
是的,这个问题我们已经作为产品的需求提交给产品组。
为了感谢您提出的产品建议以及长期以来对我们的支持,给您分发 500 金币。
具体奖品兑换规则请参考:点击查看 回复 6楼iceman的帖子
谢谢,希望你们产品越做越好:i0tw: 回复 7楼study1990的帖子
为了提升我们的服务质量,请您对本次服务做出评分。谢谢
http://gcdn.gcpowertools.com.cn/attachment.aspx?attachmentid=10062 回复 7楼study1990的帖子
问题已经被确认为 bug,BugID 为75,842 ,有进一步消息会第一时间通知你。 回复 9楼iceman的帖子
好的。
页:
[1]
2