DelZero - Форум




Главная О проекте Статьи Файлы Фотоальбомы Форум
Добавить сайт в «Избранное» | Вход в профиль

GTA V

Информация: iFruit

Информация: Изображения:

GTA: Chinatown Wars

Информация:

GTA IV

Информация:

Информация:

Информация:

Информация:

GTA: Vice City Stories

Информация: Изображения:

GTA: Liberty City Stories

Файлы: Информация: Изображения:

GTA: San-Andreas

Информация: Статьи: Изображения:

GTA: Vice City

Информация: Изображения: Файлы:

Информация: Изображения:

GTA ]I[

Информация: Файлы:

Информация: Изображения:

GTA 2

  • 1
  • 2

GTA: Advance

Информация:

GTA




  • 1
  • 2

Меню сайта

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    Страница 1 из 11
    Форум » PAWN » WIKI » Нестандартные функции » DelZero
    DelZero
    OKStyle Дата: Четверг, 11/06/2015, 23:06 | Сообщение # 1
    Analgésico



    Регистрация: 17/01/2009
    Клан:
    [ACF]
    Страна:
    Статус:


    На "офе" ope задал вопрос:
    Функция возвращает число с плавающей точкой. Вопрос: как отрезать ненужные нули? Например я получил 15.140, нужно чтобы осталось только 15.14, или через эту же функцию я получил 1.200 -нужно оставить только 1.2. В совершенстве еще хотелось бы узнать, - как точку в таком числе заменить на запятую?

    Я накидал вот такую функцию:

    Код
    stock DelZero(Float:floatval)
    {
        new string[8];
        format(string, sizeof(string), "%f", floatval);
        new dotpos = strfind(string, ".");
        strdel(string, dotpos, dotpos + 1);
        strins(string, ",", dotpos, sizeof(string));
        for(new i = strlen(string); i != dotpos + 1; i--)
        {
            if(strcmp(string[i], "0") != 0) break;
            strdel(string, i, i + 1);
        }
        return string;
    }


    Работает только с положительными числами, отсутствует проверка на MAXFLOAT, но думаю, она бессмысленна, т.к. обрабатывается только 5 знаков после точки (запятой). С отрицательными числами почему-то фигня: отнимает 1 единицу разряда только.

    Код
    main()
    {
        new Float:d = 1.20500;
        printf("%s", DelZero(d));
    }


    Автор: OKStyle.





     
    Форум » PAWN » WIKI » Нестандартные функции » DelZero
    Страница 1 из 11
    Поиск:

    GTA MP

    Мультиплееры

    GTA Modding

    Статьи:
    GTA III

    Блок пользователя

    GTA: Criminal Russia


    Календарь новостей
    «  Март 2015  »
    ПнВтСрЧтПтСбВс
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031

    Поиск

    Наша кнопка



    Партнёры

    Multi Theft Auto Community Russia

    Alliance of Cheater's Fighters
    Elite Force Opossition
    Brotherhood of Plumbum
    E1ect
    San-Andreas Bugousers
    Seville Crew
    Русский•Exclusive•Сервер
    Mixes
    http://rus-gta.do.am/
    Здесь вы можете все узнать про pawno,так же скачать моды,скрипты,программы,новости и много другое

    Вход на сайт

    Корзина
    Ваша корзина пуста

    Поиск

    Мини-чат

    Наш опрос
    Считаете ли вы IV-MP лучше SA-MP?
    Всего ответов: 476

    Статистика


    Copyright © Лаборатория O.K.Style 2001-2016 | GTA-Exclusive 2007-2016 | GTA News 2007-2016 | Хостинг от uCoz