Перевод системы чисел из десятичной в двенадцатиричную

lynx

Пользователь
Регистрация
04.12.2013
Сообщения
77
Благодарностей
0
Баллы
6
чот не могу прошарить никак.

есть значения месяцев (стаж). например, 120

надо перевести их в года и месяцы, то есть в двенадцатиричную систему, чтобы получилось 10.0

чот через замену пробовал написать {-Variable.Stazh-}/12. естественно, вставляет 120/12

до другого додуматься не смог...
 

lynx

Пользователь
Регистрация
04.12.2013
Сообщения
77
Благодарностей
0
Баллы
6
хотя мне в общем-то переводить в двенадцатиричную и не надо наверн.

просто разделить значение переменной на 12
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
поищите по форуму Javascript тут где то есть примеры как это работает
мне проще на c#
вот сниппет

return int.Parse(project.Variables["date"].Value)/12

Должно работать поидее)
 
  • Спасибо
Реакции: lynx

lynx

Пользователь
Регистрация
04.12.2013
Сообщения
77
Благодарностей
0
Баллы
6
поищите по форуму Javascript тут где то есть примеры как это работает
мне проще на c#
вот сниппет

return int.Parse(project.Variables["date"].Value)/12

Должно работать поидее)
чот я немного тупанул. мне надо разделить на 12, взять целую часть, а потом из значения переменной удалить произведение этой целой части на 12. Так я последовательно взял бы год и месяц
 

shade

Client
Регистрация
19.11.2010
Сообщения
580
Благодарностей
346
Баллы
63
чот я немного тупанул. мне надо разделить на 12, взять целую часть, а потом из значения переменной удалить произведение этой целой части на 12. Так я последовательно взял бы год и месяц
Так тебе что остаток от деления на 12 нужно получить? тогда так:
JavaScript:
int data = Convert.ToInt32(project.Variables["date"].Value)%12;
 
  • Спасибо
Реакции: lynx

lynx

Пользователь
Регистрация
04.12.2013
Сообщения
77
Благодарностей
0
Баллы
6
поищите по форуму Javascript тут где то есть примеры как это работает
мне проще на c#
вот сниппет

return int.Parse(project.Variables["date"].Value)/12

Должно работать поидее)
там есть функция добавить код с#. делаю, тестирую, дает ошибку

скрин
 

lynx

Пользователь
Регистрация
04.12.2013
Сообщения
77
Благодарностей
0
Баллы
6
ойёёёй! забыл ;
 

lynx

Пользователь
Регистрация
04.12.2013
Сообщения
77
Благодарностей
0
Баллы
6
Так тебе что остаток от деления на 12 нужно получить? тогда так:
JavaScript:
int data = Convert.ToInt32(project.Variables["date"].Value)%12;
нене, не остаток. мне надо кароч получить сначала года (но уже понял как, за что ОГРОМНЕЙШЕЕ СПАСИБО Lexicon), а потом месяца.

логика такая: получаем года, а потом от стажа в месяцах отнимаем произведение годов на 12. получаем тот самый остаток в месяцах
 

lynx

Пользователь
Регистрация
04.12.2013
Сообщения
77
Благодарностей
0
Баллы
6
дотыкался сам неизвестно какими путями ))

return int.Parse(project.Variables["Stazh"].Value) - int.Parse(project.Variables["Stazh1"].Value)*12;

в стаж1 ложу результат деления нацело стажа на 12
 

shade

Client
Регистрация
19.11.2010
Сообщения
580
Благодарностей
346
Баллы
63
нене, не остаток. мне надо кароч получить сначала года (но уже понял как, за что ОГРОМНЕЙШЕЕ СПАСИБО Lexicon), а потом месяца.

логика такая: получаем года, а потом от стажа в месяцах отнимаем произведение годов на 12. получаем тот самый остаток в месяцах
Ну да, это и будет остаток от деления числа на 12, остаток будет равен от 0 до 11.
JavaScript:
// допустим что у нас число в месяцах равно 128
int total = project.Variables["experience"]; // т.е. total = 128
// получаем количество лет
int years = Convert.ToInt32(total)/12; // т.е. years = 10
// получаем количество месяцев
int months = Convert.ToInt32(total)%12; // т.е. months = 8
// выводим результат
if (months != 0) return String.Format("Стаж: {0} лет и {1} месяцев", years, months);
else return String.Format("Стаж: {0} лет", years);
 

lynx

Пользователь
Регистрация
04.12.2013
Сообщения
77
Благодарностей
0
Баллы
6
а если 131 месяц? :-)
 

shade

Client
Регистрация
19.11.2010
Сообщения
580
Благодарностей
346
Баллы
63

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)