На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Перетипирование данных из AnsiString в необходимые. , Borland C++ Builder v.6.0.
    Пусть есть строка "23456879". Я хочу поместить ее в переменные __int64, long, float, long long.

    Если есть .ToInt, .ToDouble - то с другими типами проблема.

    Как реализовать?
      Возможно это то, что Вам нужно, если я правильно понял.
      Stack Overflow: How do you format an unsigned long long int using printf?
      ExpandedWrap disabled
        // %d--> for int
        // %u--> for unsigned int
        // %ld--> for long int or long
        // %lu--> for unsigned long int or long unsigned int or unsigned long
        // %lld--> for long long int or long long
        // %llu--> for unsigned long long int or unsigned long long
        AnsiString str = "285212672";
        long long ss_llong = (long long)str.printf("%ll");

      или, если просто поместить, тогда
      ExpandedWrap disabled
        long long s_llong  = (long long)str.ToDouble();
        __int64   s_int64  = (__int64)str.ToDouble();
        long      s_long   = (long)str.ToDouble();
        float     s_float  = (float)str.ToDouble();
        К сожалению, в 6-м билдере это не работает.
          В общем, для каждого типа нужно писать свою самописную функцию. Из лонг абл в дабл и обратно - самая геморная.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0232 ]   [ 16 queries used ]   [ Generated: 24.04.24, 13:02 GMT ]