Потеря символа при преобразовании float в строку
Код:
function PointsSelect() { var cal1=document.getElementById("beginTime"); var cal2=document.getElementById("longTime"); var hrs_beg=document.getElementById("hrs_beg"); var mns_beg=document.getElementById("min_beg"); var hrs=document.getElementById("hrs"); var mns=document.getElementById("min"); var UTCDt1=ParseTime(cal1.value, hrs_beg.value, mns_beg.value); var UTCBeg=Date.UTC(UTCDt1.yy, UTCDt1.mon, UTCDt1.dd, UTCDt1.hh, UTCDt1.mm); var UTCDt2=ParseTime(cal2.value, hrs.value, mns.value); var UTCEnd=Date.UTC(UTCDt2.yy, UTCDt2.mon, UTCDt2.dd, UTCDt2.hh, UTCDt2.mm); var LongmSec=UTCEnd-UTCBeg; var LongMin=LongmSec/60000; alert (UTCDt1.yy+" "+UTCDt1.mon+" "+UTCDt1.dd+" "+UTCDt1.hh+" "+UTCDt1.mm+" UTC:"+UTCBeg + + "\n" +UTCDt2.yy+" "+UTCDt2.mon+" "+UTCDt2.dd+" "+UTCDt2.hh+" "+UTCDt2.mm+" UTC:"+UTCEnd + " mSec:"+LongMin); //здесь алерт выдает UTCBeg =13411008000000(например) HistReq(PointsList.List.InValue, UTCBeg, LongMin); } function HistReq(idPoint, BegTime, Minutes) { if (xmlHttp) { var POSTStr="idPoint=" + idPoint + "&BegTime=" + BegTime + "&Minutes=" + Minutes; alert(POSTStr); //а вот здесь уже 1341100800000 try { xmlHttp.open("POST", "HistByPoint.php", true); xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = HistCallBack; xmlHttp.send(POSTStr); } catch(e) { alert("Cant send request!!!"); } } } Таким образом при преобразовании float в строку мы потеряли один разряд. Как бороться? |
Я так сразу не могу сказать, почему так происходит.
Вставьте после 27-ой строки alert(begTime); чтобы посмотреть значение begTime непосредственно перед преобразованием. |
Часовой пояс GMT +3, время: 21:37. |