Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.06.2012, 11:25
Новичок на форуме
Отправить личное сообщение для Mysa Посмотреть профиль Найти все сообщения от Mysa
 
Регистрация: 28.06.2012
Сообщений: 1

Потеря символа при преобразовании 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 в строку мы потеряли один разряд. Как бороться?
Ответить с цитированием
  #2 (permalink)  
Старый 28.06.2012, 19:02
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Я так сразу не могу сказать, почему так происходит.
Вставьте после 27-ой строки alert(begTime); чтобы посмотреть значение begTime непосредственно перед преобразованием.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Действие при нажатии на строку D7na Events/DOM/Window 10 08.01.2012 11:47
При копировании текста со страницы автоматом присоединять строку - насколько сложно? javascript_pupil Общие вопросы Javascript 3 04.01.2011 22:25
Изменение цвета ячейки в таблице, при наведении на строку другой таблицы Psychosonic Общие вопросы Javascript 12 24.11.2010 16:44