Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 3 ПерваяПервая 1 2 3 ПоследняяПоследняя
Показано с 11 по 20 из 30

Тема: Вид числа.

  1. #11
    Аватар для BaBuIIIkaDrifteR
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.03.2014
    Адрес
    Ямайка
    Сообщений
    303
    Репутация:
    8 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Держите:
    PHP код:
    stock ConvertNumber(valuecopy_str[], size sizeof(copy_str))
    {
        
    format(copy_strsize"%i"value ? -value value);

        for(new 
    strlen(copy_str) - 30-= 3)
            
    strins(copy_str"."isize);

        if(
    value 0)
            
    strins(copy_str"-"0size);

    Использование:
    PHP код:
    main()
    {
        new
            
    money_string[8],
            
    value 1_000_000// или value = 1000000, если Вам так удобнее

        
    ConvertNumber(valuemoney_string);

        print(
    money_string);

    А как делается что показывалось допустим "playerid" или "clicked"
    Это же не будет показывать имено сколько у игрока денег:
    PHP код:
    format(StringName,sizeof(StringName),"%sИгровые Деньги: %d$.\n",StringName,ConvertNumber(valuemoney_string); 
    ip adress: В разработке:7777
    My Skype: Skype Phone
    [В]контакте: Рома Уруру
    Разработка: EnergyDRIFT©|2015

  2. #12
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Например:
    PHP код:
    new
        
    out_string[32],
        
    money_string[12];

    ConvertNumber(PlayerInfo[playerid][pMoney], money_string);

    format(out_string32"Вы имеете сумму: $%s."money_string); 
    Например у игрока есть тот же самый миллион, то вывод будет таковым:
    Код:
    Вы имеете сумму: $1.000.000.

  3. Пользователь сказал cпасибо:
    BaBuIIIkaDrifteR (21.02.2015)
  4. #13
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Держите:
    PHP код:
    stock ConvertNumber(valuecopy_str[], size sizeof(copy_str))
    {
        
    format(copy_strsize"%i"value ? -value value);

        for(new 
    strlen(copy_str) - 30-= 3)
            
    strins(copy_str"."isize);

        if(
    value 0)
            
    strins(copy_str"-"0size);

    Использование:
    PHP код:
    main()
    {
        new
            
    money_string[8],
            
    value 1_000_000// или value = 1000000, если Вам так удобнее

        
    ConvertNumber(valuemoney_string);

        print(
    money_string);

    PHP код:
    stock ConvertNumber(valuecopy_str[], size sizeof(copy_str)) 

        
    format(copy_strsize"%i"value ? -value value); 
        print(
    copy_str);
        for(new 
    strlen(copy_str) - 30-= 3
            
    strins(copy_str"."isize); 

        
    //if(value < 0) 
        //    strins(copy_str, "-", 0, size); 

    В консоль в любом случае выводит положительное число, поэтому value < 0 ? -value : value бесполезно использовано)
    Попробовал valstr, всё хорошо, вроде бы)
    PHP код:
    stock ConvertNumber(valuecopy_str[], size sizeof(copy_str)) 
    {  
        
    valstr(copy_strvalue);
        for(new 
    strlen(copy_str) - 30-= 3
            
    strins(copy_str"."isize);  


  5. #14
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Mazzilla, пример вашего использования покажите. Вы к размеру массива добавляли единицу под минус?

    При использовании:
    PHP код:
    new
        
    money_string[9],
        
    value = -1_000_000;

        
    ConvertNumber(valuemoney_string);

        print(
    money_string); 
    Выводится: -1.000.000.
    Может быть я Вас не так понял?
    Последний раз редактировалось L0ndl3m; 21.02.2015 в 15:38.

  6. #15
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Mazzilla, пример вашего использования покажите. Вы к размеру массива добавляли единицу под минус?
    Ваш же пример и был взят:
    PHP код:
    main()
    {
        new 
            
    money_string[10], 
            
    value = -11_000_000// или value = 1000000, если Вам так удобнее 


        
    ConvertNumber(valuemoney_string); 


        print(
    money_string);


  7. #16
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    И что у Вас выводит в данном случае?

  8. #17
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Вы меня не так поняли. Я взял ваш сток, добавил вывод в консоль (print) после превращения числа в строку (format): у меня при отрицательном и положительном входном значении выводило всегда положительное, откуда я сделал вывод, что value < 0 ? -value : value в вашем стоке было использовано за зря. Размер массива для минуса я увеличивал. Мой же сток, где использовал нативную valstr
    PHP код:
    stock ConvertNumber(valuecopy_str[], size sizeof(copy_str))  
    {   
        
    valstr(copy_strvalue); 
        for(new 
    strlen(copy_str) - 30-= 3)  
            
    strins(copy_str"."isize);   

    Выводит всё, как требуется. Вот, к чему я это писал.

  9. Пользователь сказал cпасибо:
    L0ndl3m (21.02.2015)
  10. #18
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Попробуйте использовать функцию с помощью valstr для значения: cellmax ( константа ). Отпишитесь о результатах )

  11. #19
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Попробуйте использовать функцию с помощью valstr для значения: cellmax ( константа ). Отпишитесь о результатах )
    Ничего не вывело. Ясно, понятно, можете удалить мои сообщения.

  12. #20
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Цитата Сообщение от Mazzilla Посмотреть сообщение
    Ничего не вывело. Ясно, понятно, можете удалить мои сообщения.
    Ничего страшного. Просто valstr предназначена для не очень таких уж больших чисел, хотя должно предназначаться именно для того, чтобы конвертировать число в строку. Сервер просто напросто зависает и всё, как будто входит в рекурсию.

    Если что, могу посоветовать очень хорошую функцию от Daniel_Cortez'а: Тык. Это замена valstr, и проста в использовании ( как и тот же valstr ).

  13. Пользователь сказал cпасибо:
    BaBuIIIkaDrifteR (21.02.2015)
 

 
Страница 2 из 3 ПерваяПервая 1 2 3 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •