Добавил еще ведущие нули к миллисекундам, если кому-то еще когда-то этот код понадобится
log = function (text, color, define){ var id, time, thread, logHtml, textLog; define = (typeof define == 'string') ? define.split(/[\s,.|:;]+/g) : define; if(typeof define === 'object' && define !== null){ if(Array.isArray(define)){ id = define.indexOf('id') > -1; time = define.indexOf('time') > -1; thread = define.indexOf('thread') > -1; } else{ id = define.id == true; time = define.time == true; thread = define.thread == true; } } else id = time = thread = true; id = id ? '<a href="action://action' + ScriptWorker.GetCurrentAction() + '" style="color:gray;">[' + ScriptWorker.GetCurrentAction() + ']</a>' : ''; time = time ? ' ' + getTime() : ''; thread = thread ? ' Поток №' + thread_number() : ''; logHtml = (id || time || thread) ? id + '<span style="color: white">' + time + thread + ' : </span>' : ''; logHtml += '<span style="color:' + (color ? color : 'white') + '">' + text + '</span>'; textLog = '[' + ScriptWorker.GetCurrentAction() + ']' + time + thread + ' : ' + text function getTime(){ var checkTime = function(i){ return (i < 10) ? "0" + i : i; }; var checkMilliSeconds = function(ms){ if (ms < 10) { return "00" + ms; } else if (ms < 100) { return "0" + ms; } else { return ms; } }; var d = new Date(); var hh = checkTime(d.getHours()); var mm = checkTime(d.getMinutes()); var ss = checkTime(d.getSeconds()); var ms = checkMilliSeconds(d.getMilliseconds()); return '[' + hh + ':' + mm + ':' + ss + '.' + ms + ']'; }; Logger.WriteHtml(logHtml, textLog); }В базу в поле int не вписать дробное число ?
-
@kuzkuz said in В базу в поле int не вписать дробное число ?:
Вот блин я обламываюсь. Никак не решаемо?
Вместо 1 писать 10, вместо 4.7 писать 47 - вариант такое себе.
-
Ладно. Буду пробовать писать в поле с типом string. Получать значение от туда, переводить его в число. Когда нужно прибавлять 0.7 и возвращать в базу обратно. По идее должно сработать. Просто мне иногда нужно к числу прибавлять не 1, а 0.7 когда задание выполнилось "криво" но выполнилось.
-
-
@kuzkuz Я для себя думал так зделать, но понял что ето неефективно. база есть на то база что потом можна фильтри делать. А с числами очень часто надо делать фильтри больше меньше, например вытащить с бази баланси аков больше такогото числа, со стрингом потом тупик. В итоге я сосдал 2 поля. до "." и после "." часто мне не надо учитивить копейки. Тогда достаточно фильровать по первому. Иногда надо прибавить к другой баланс. Ну тогда ндо витажть 2 числа - сложить перевести в число - прибавить и опять розложить перед записом в бд. Но ето не сложно - один кубик на все случаи сделал. Идея умножать на 100 - записовать в бд. потом после витаскивания делить на 100 - мне не очень. Не люблю когда в бд нереальние цифры
-
@f0cus said in В базу в поле int не вписать дробное число ?:
@kuzkuz издеваешься? int = ЦЕЛОЕ это сокращение от integer.
float = ПЛАВАТЬ это дробь, число с плавающей запятой.Что издеваюсь.
Я составлял проект. Составил. Начал реализовывать, а в базе нет числового поля кроме int
Я об этом. Что вышел нехороший облом -
@selector said in В базу в поле int не вписать дробное число ?:
@kuzkuz Я для себя думал так зделать, но понял что ето неефективно. база есть на то база что потом можна фильтри делать. А с числами очень часто надо делать фильтри больше меньше, например вытащить с бази баланси аков больше такогото числа, со стрингом потом тупик. В итоге я сосдал 2 поля. до "." и после "." часто мне не надо учитивить копейки. Тогда достаточно фильровать по первому. Иногда надо прибавить к другой баланс. Ну тогда ндо витажть 2 числа - сложить перевести в число - прибавить и опять розложить перед записом в бд. Но ето не сложно - один кубик на все случаи сделал. Идея умножать на 100 - записовать в бд. потом после витаскивания делить на 100 - мне не очень. Не люблю когда в бд нереальние цифры
У меня так не получится.
Мне надо складывать баллы (оценки юзеру). Если задание выполнено без косяков то оценка=1, с косяками то балл меньше еденицы, например 0.7. Как только юзер набрал нужное кол-во баллов (оно тоже в другой колонке в базе задано) так он получает аттестат ) -
@kuzkuz есть такое но дело в том что float и js да и вообще погромирование в общем лучше не давать эту возможность тем кто в этом не сильно разбирается, возможно по этому этой настройки нет. Не знаю мотивацию разработчика но да с float можно заблудиться легко
-
@selector said in В базу в поле int не вписать дробное число ?:
@f0cus база - склад без возможности фильтров
Да, если сделать поле string и писать мои числа туда.
Но даже и тут накостылить можно чтобы брать строки со значением меньше 4.1 или 5.2 например )) но не онлайн, а в срипте через перебор. а это конечно будет нагружать -
@f0cus said in В базу в поле int не вписать дробное число ?:
@kuzkuz сохраняй как строку, потом преобразуй parseFloat(), костыль да, но а что не костыль)), я в базу вообще все загоняю в base64 потом на месте обратно
так тебе выше @selector правильно написал. Онлайн не отфильтровать.
То что ты описываешь - это все понятно. Но кубиками с базы не пофильтруешь