На главную
ПРАВИЛА 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-м билдере это не работает.
          В общем, для каждого типа нужно писать свою самописную функцию. Из лонг абл в дабл и обратно - самая геморная.
          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0189 ]   [ 15 queries used ]   [ Generated: 2.08.21, 23:00 GMT ]