Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Преобразование чисел в строки (https://javascript.ru/forum/misc/19509-preobrazovanie-chisel-v-stroki.html)

Триви 06.08.2011 09:04

Преобразование чисел в строки
 
Ребята, или я дурак или лыжи не едут! :blink:

Идея такая..
если в конце единица и не равно 11, то один текст..
иначе, другой текст..
var mes_num_string = '' + mes_num; // преобразую число к символьному типу данных
if (mes_num!=11 and mes_num_string.slice(mes_num_string.length-1, mes_num_string.length)==1) {
     mes_num_text="новое сообщение";
} else {
     mes_num_text="новых сообщений";
}
$("#mes_status").text(mes_num + ' ' + mes_num_text);


Дело всё в том, что
mes_num_string.slice(mes_num_string.length-1, mes_num_string.length)
НИЧЕГО НЕ ВЫВОДИТ!!! :blink:

В пхп такую задачу решаю на раз:
if ($mes_num!='11' and mb_substr($mes_num, -1, 1, "utf-8")=='1') $text="новое сообщение";
else $text="новых сообщений";


В чём тут косяк? Спасибо.

kobezzza 06.08.2011 09:11

if (mes_num!=11 and mes_num_string.slice(mes_num_string.length-1, mes_num_string.length)==1) {


Это вам не Delphi) Для обозначения логического "и" в JavaScript используются два знака конъюкции (&&), как и в других C-подобных языках.

А пхп пропустил "and", т.к. является во многом хулиганским языком) например в нём также можно писать:
elseif // синтаксис бейсика
else if // нормальный синтаксис :)

Триви 06.08.2011 09:14

Цитата:

Сообщение от kobezzza (Сообщение 117585)
if (mes_num!=11 and mes_num_string.slice(mes_num_string.length-1, mes_num_string.length)==1) {


Это вам не Delphi) Для обозначения логического "и" в JavaScript используются два знака конъюкции (&&), как и в других C-подобных языках.


Сорри, описАлся, когда упрощал пример.. естественно в коде &&

kobezzza 06.08.2011 09:20

Цитата:

Сообщение от Триви (Сообщение 117586)
Сорри, описАлся, когда упрощал пример.. естественно в коде &&

Ну тогда не понял, где у тебя проблема, ибо твой скрип у меня корректно работает)

devote 06.08.2011 09:39

if ( mes_num != 11 && mes_num.toString().substr( -1, 1 ) == 1 ) {
     mes_num_text = "новое сообщение";
} else {
     mes_num_text = "новых сообщений";
}

B@rmaley.e><e 06.08.2011 11:20

Цитата:

Сообщение от kobezzza
например в нём также можно писать:
elseif // синтаксис бейсика
else if // нормальный синтаксис :)

Не вижу ничего плохого в elseif. В Пайтоне, например, он тоже есть, только называется elif (криво, на мой взгляд)

trikadin 06.08.2011 12:48

Завис над словом "Пайтон". Привык уже... Питон, Питон)

kobezzza 06.08.2011 13:22

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 118072)
Не вижу ничего плохого в elseif. В Пайтоне, например, он тоже есть, только называется elif (криво, на мой взгляд)

Не спорю, дело вкуса:) Но PHP, как и JS всё-таки "хулиганские" языки, за это их и люблю:)

Цитата:

Сообщение от trikadin (Сообщение 118092)
Завис над словом "Пайтон". Привык уже... Питон, Питон)

У меня знакомый его вообще путоном называет)

Триви 06.08.2011 14:19

Всем спасибо! :thanks:
Оказывается в приходящих с сервера данных в конце присутствовал пробел :) :lol:

B@rmaley.e><e 06.08.2011 15:14

Цитата:

Сообщение от kobezzza
У меня знакомый его вообще путоном называет)

Берите пример с гугла (кнопка Прослушать) :-)
Цитата:

Сообщение от trikadin
Завис над словом "Пайтон". Привык уже... Питон, Питон)

Ну не Монти Питон же.

kobezzza 06.08.2011 15:20

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 118171)
Берите пример с гугла (кнопка Прослушать) :-)

ахахаххахахха))):haha: путхон:haha: :haha:

ваый 06.08.2011 15:28

Цитата:

Сообщение от B@rmaley.e><e
Берите пример с гугла (кнопка Прослушать) :-)

Пытхон!!?? Хм..
http://dictionary.reference.com/browse/python

devote 06.08.2011 15:34

Цитата:

Сообщение от B@rmaley.e><e
Берите пример с гугла (кнопка Прослушать) :-)

Google- "Пайфтана" :haha:

monolithed 06.08.2011 15:38

Цитата:

Сообщение от ваый
Пытхон!!?? Хм..

переводчик гугла в последнее время сильно глючит.
Если уж на то пошло, то Пайсон [ˈpaɪθən].
Короче это личное дело каждого, кто говорит Си плас плас, а кто-то Си плюс плюс.


Часовой пояс GMT +3, время: 09:06.