delphi 怎么保留2位小数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 怎么保留2位小数相关的知识,希望对你有一定的参考价值。
首先我用的是工业标准 就是4舍6入5成双 也就是ROUND()默认的
但是不会保留小数 用 ROUND(X*100)/100
变成4舍5入了 不行啊
怎么办怎么办
javascript算保留两位小数的数字的连加怎么结果出现了保留12位小数的结果?
<script type="text/javascript">
alert(4359.45+3975.60+3565.20+3196.20+2881.20+2553.60+2323.05+2054.19+1714.92+1431.24+1359.60);
</script>
代码如上
alert(sum);
这样写就OK了,该问题是JS中浮点数运算问题导致的
追问为什么会导致这个问题呢?
追答你百度一下“JS浮点运算”就能找到资料
参考技术B <script type="text/javascript">alert(4359.45*100+3975.60*100+3565.20*100+3196.20*100+2881.20*100+2553.60*100+2323.05*100+2054.19*100+1714.92*100+1431.24*100+1359.60*100)/100;
</script>
总结:
1、尽量不要用JS做复杂的运算,特别是浮点数的运算。
2、如果一定要进行浮点数的运算的话,先将浮点数转化为整形,再运算。
参考技术C 是js浮点运算精度丢失的问题java里也有这样的问题 所以做高精度运算需要用到BigDecmal类追问
但js是弱类型的语言,怎么才能做到用高精度的小数类型呢?
追答这就需要 用js 进行模拟封装类似BigDecmal类 或者计算时做特殊处理
n为小数点位数
扩大n倍后 计算
然后再缩小n倍
这样保证不会丢失精度
以上是关于delphi 怎么保留2位小数的主要内容,如果未能解决你的问题,请参考以下文章