Архив метки: javascript

Число в строку, строку в число на разных языках.

Преобразование числа в строку и обратной операции на разных языках программирования.

Строку в число

С++

int atoi(const char* str) //для чисел типа integer
long atol(const char* str)//для чисел типа long
double atof(const char* str)//для чисел типа double

 PHP

<?php
$foo = 1 + "10.5";                // $foo это float (11.5)
$foo = 1 + "-1.3e3";              // $foo это float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo это integer (1)
$foo = 1 + "bob3";                // $foo это integer (1)
$foo = 1 + "10 Small Pigs";       // $foo это integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo это float (14.2)
$foo = "10.0 pigs " + 1;          // $foo это float (11)
$foo = "10.0 pigs " + 1.0;        // $foo это float (11)
?>

C#

m = int32.Parse("123456");//из строки целое число

 Javascript

Для явного преобразования можно использовать 2 способа:

var number = Number(string_value);
var number = string_value - 0;

parseInt("3 blind mice"); // Возвращает 3
parseFloat("3.14 meters"); // Возвращает 3.14
parseInt("12.34"); // Возвращает 12
parseInt("0xFF"); // Возвращает 255

Число в строку

С++

char* itoa(int value, char* string, int radix) //для чисел типа integer
char* itoa(long value, char* string, int radix)//для чисел типа long
char* itoa(double value, char* string, int radix)//для чисел типа double

PHP

$name=5;
$string_name = (string)$name;

C#

int a=5;
string s=a.toString();

 Javascript

var string_value = String(number); // Использование конструктора String()
// в качестве функции
var string_value = number + ""; // Конкатенация с пустой строкой

Еще одну возможность предоставляет метод toString():

var n = 17;
string_value = number.toString();

Поиск и показ полей по введенному значению

Реализация поиска и показа значения наподобие автодополнения.

Например необходимо реализовать поиск строчек стихотворения, в котором есть введенное слово или его часть.

Стих Пушкина для поиска строк

Если введем слово в списке должны отобразиться только те строчки в которых присутствуют данное слово. И все это по мере ввода искомого слова.

Результат поиска строчек в реальном времени

Создадим поле для ввода текста и сам список полей в которых необходимо искать информацию или данные в режиме реального времени этакий автопоиск:



Добавим для наглядности css:

input, select {
width: 300px;
margin: 10px auto;
display: block;
}

При вводе данных в поле input всё, что не совпадает со строкой поиска, будем скрывать, оставляя в списке только нужные результаты.

Поиск в списке основывается на использовании регулярных выражений, а так как значение в поле ввода не постоянно, лучше использовать объектную запись регулярных выражений RegExp() вместо литеральной:

var field = $('#list').find('option');

// собственно поиск
$('#searching').bind('keyup', function() {
    var q = new RegExp($(this).val(), 'ig'),
        bol = true;

    for (var i = 0, l = field.length; i < l; i += 1) {
        var option = $(field[i]),
            parent = option.parent();

        if ($(field[i]).text().match(q)) {
            if (parent.is('span')) {
                option.show();
                parent.replaceWith(option);
            }
        } else {
            if (option.is('option') && (!parent.is('span'))) {
                option.wrap('').hide() } } } }); 

Видно, что непосредственно поиск не представляет ничего сложного: весь интерес в отображении найденных результатов. Дело в том, что простое применение свойств, скрывающих элементы списка, невсегда приводит к ожидаемому результату. Например, в некоторых браузерах (Chrome, Internet Explorer) если просто добавить display:none к тегу option, последний всё равно останется видимым.

Однако этот же тег option, обернутый тегом span, понимает display:none, и ведёт себя корректно.

Таймер обратного отсчета

Таймер обратного отсчетаТаймер обратного отсчета

Для примера сделаем таймер обратного отсчета до Нового Года.

Создать пустой файл и назвать его к примеру timer.js. Туда вписать следующий код.

obj_hours = document.getElementById("hours");
function wr_hours()
{
var oToday = new Date();
var sTime = "January 01, 2012 00" +  ":00" + ":00"; //до какого числа таймер
// задаём время с точностью до секунды — это не педантизм,
// а важная деталь, избавляющая от багов при вычислении разницы между датами
var oDeadLineDate = new Date(sTime); // собственно устанавливаем «час Икс»
var sek = Math.floor((oDeadLineDate - oToday) / 1000);
var sec= sek % 60 ; //сколько секунд осталось
var min= Math.floor((sek /60)%60) ;//сколько минут осталось
var hoursek= Math.floor((sek / (60*60)) %24) ;//сколько часов осталось
var days= Math.floor(sek /(24*60*60)) ;//сколько дней осталось
var time_wr= days+" дней<br> "+hoursek+"<a href='http://itmemo.ru'>:</a>" +min+":" +sec+"<br>";
if (days > 31) { 
  time_wr= "1 мес "+(days-30)+" дней<br> "+hoursek+":" +min+":" +sec+"<br>"; 
};
obj_hours.innerHTML = time_wr;
}
wr_hours();
setInterval("wr_hours();",1000);

Сохраняем и помещаем в ту же папку на сервере сайта, где и находится наша страница с таймером.

Теперь на нужной страничке, в том месте где нужен таймер, надо вписать

До Нового Года<br>
<span id="hours"></span> 
<script type="text/javascript" src="/timer.js" ></script>

Вот и все.