请问个小问题
我的数据库里有两个字段,都是单精度的,里面分别存放两个数据1.175和1000
在asp中用下面公式一算,就出现小数了。
(1.175 + 1 ) * 1000 = 2174.99995231628
而我单独在asp中将1.175和1000付给两个变量,再用上面的公式,又没问题。请问怎么解决呀?
顺便问下四舍五入的函数是哪个呀?
问题点数:100、回复次数:5Top
1 楼阿信()回复于 2003-10-02 21:38:10 得分 30
Round 函数 语言参考
版本 2
请参阅
--------------------------------------------------------------------------------
描述
返回按指定位数进行四舍五入的数值。
语法
Round(expression[, numdecimalplaces])
Round 函数的语法有以下参数:
参数 描述
expression 必选。进行四舍五入的数值表达式。
numdecimalplaces 可选。数字表明小数点右边有多少位进行四舍五入。如果省略,则 Round 函数返回整数。
Top
2 楼hushengqi(谷_悦)回复于 2003-10-02 21:38:16 得分 30
JavaScript
Syntax
Math.round(number)
The number argument is the value to be rounded to the nearest integer.
VBScript
描述
返回按指定位数进行四舍五入的数值。
语法
Round(expression[, numdecimalplaces])
Round 函数的语法有以下参数:
参数 描述
expression 必选。 数值表达式 被四舍五入。
numdecimalplaces 可选。数字表明小数点右边有多少位进行四舍五入。如果省略,则 Round 函数返回整数。
下面的示例利用 Round 函数将数值四舍五入到两位小数:
Dim MyVar, pi
pi = 3.14159
MyVar = Round(pi, 2) 'MyVar contains 3.14。
--------------------------------------------------------------------------------
Top
3 楼wanghr100(灰豆宝宝.net(努力工作))回复于 2003-10-02 21:43:48 得分 30
浮点运算的不确定性和舍入误差造成的 :)Top
4 楼blackcourser(潜心修炼)回复于 2003-10-02 21:44:59 得分 0
关注并学习!Top
5 楼wanghr100(灰豆宝宝.net(努力工作))回复于 2003-10-02 21:59:10 得分 10
附:
用JS计算时,没出问题 :)
<script>
var sum;
sum=(1.175 + 1.000)*1000;
alert(sum);
</script>
Top




