不知道这个原因怎么解释: 数据库里明明是0.004375 可从数据库里取出来(我乘了100)显示到文本框里值就变了 0.43750000000000005 但是有些还是原来的数值,没变,怎么回事情? 数据库:SQLSERVER 字段 float 长度8 精度53 小数位数0 难道这段代码有问题吗?从数据库里取数据(能取到数据的): -------------------------------------------------------------- <script language=javascript> /******连动确定利率,注意的是记录有多个重复的情况******/var money_array=new Array() var kind_array=new Array() var term_array=new Array() var rate_array=new Array() var index <% num=0 sqlstr="select money, kind, term, rate, updatetime FROM TAB_RATE WHERE (type LIKE '%储蓄%利率%') GROUP BY money, kind, term, rate, updatetime ORDER BY updatetime DESC, term"set rs=dataconn.execute(sqlstr) do while not rs.eof %> money_array[<%=num%>]=<%="'"&rs("money")&"'"%> kind_array[<%=num%>]=<%="'"&rs("kind")&"'"%> term_array[<%=num%>]=<%=rs("term")%> rate_array[<%=num%>]=<%=rs("rate")%> index=<%=num%>; <% num=num+1 rs.movenext loop rs.close:set rs=nothing dataconn.close:set conn=nothing %> var str=" " for(var i=0;i<money_array.length;i++) str=str+money_array[i]+","+kind_array[i]+","+term_array[i]+","+rate_array[i]+"<br>" /******根据选择的币种、操作类别、期限确定利率***********/ function getDBRate(money_value,kind_value,term_value){ for(var i=0;i<money_array.length;i++){ var b1=money_array[i].indexOf(money_value)>=0 var b2=kind_array[i].indexOf(kind_value)>=0 var b3=term_array[i]==term_value if(b1 && b2 && b3) return rate_array[i]*100 }
数据库里明明是0.004375
可从数据库里取出来(我乘了100)显示到文本框里值就变了
0.43750000000000005
但是有些还是原来的数值,没变,怎么回事情?
数据库:SQLSERVER
字段 float 长度8 精度53 小数位数0
难道这段代码有问题吗?从数据库里取数据(能取到数据的):
--------------------------------------------------------------
<script language=javascript>
/******连动确定利率,注意的是记录有多个重复的情况******/var money_array=new Array()
var kind_array=new Array()
var term_array=new Array()
var rate_array=new Array()
var index
<%
num=0
sqlstr="select money, kind, term, rate, updatetime FROM TAB_RATE WHERE (type LIKE '%储蓄%利率%') GROUP BY money, kind, term, rate, updatetime ORDER BY updatetime DESC, term"set rs=dataconn.execute(sqlstr)
do while not rs.eof
%> money_array[<%=num%>]=<%="'"&rs("money")&"'"%>
kind_array[<%=num%>]=<%="'"&rs("kind")&"'"%>
term_array[<%=num%>]=<%=rs("term")%>
rate_array[<%=num%>]=<%=rs("rate")%>
index=<%=num%>;
<%
num=num+1
rs.movenext
loop
rs.close:set rs=nothing
dataconn.close:set conn=nothing
%> var str=" "
for(var i=0;i<money_array.length;i++)
str=str+money_array[i]+","+kind_array[i]+","+term_array[i]+","+rate_array[i]+"<br>" /******根据选择的币种、操作类别、期限确定利率***********/
function getDBRate(money_value,kind_value,term_value){
for(var i=0;i<money_array.length;i++){
var b1=money_array[i].indexOf(money_value)>=0
var b2=kind_array[i].indexOf(kind_value)>=0
var b3=term_array[i]==term_value
if(b1 && b2 && b3) return rate_array[i]*100
}
return 0;
}
//alert(getDBRate("人民币","活期",0))</script>
if (s==null || s=="" || isNaN(s) || Math.round(s)==0) return 0;
i = Math.round(i);
if (i==0) return Math.round(s);
if (i==null || isNaN(i) || i<0) i=2;
var v = Math.round(s*Math.pow(10,i)).toString();
if (/e/i.test(v)) return s;
return v.substr(0,v.length-i)+"."+v.substr(v.length-i);
}
alert(fixTo(1234.1234))
alert(fixTo(1234.1234,1))
alert(fixTo(1234.1234,10))
alert(fixTo(1234.1234,20))
alert(fixTo(1234.1234,0))
alert(fixTo(123456782))
工资被猛扣,只能忍,忍!!