Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форматированый вывод: байты в килобайты, с одним знаком после запятой 
V
    Опции темы
Alca
Дата 19.2.2009, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Форматированый вывод: байты в килобайты, с одним знаком после запятой.
Как такое замутить используя UnicodeString().sprintf()? 
Код

__int64 i64PicSize = 25811; //в байтах    
lblImgSize->Caption = UnicodeString().sprintf(L"Размер картинки: %i KB", i64PicSize / 1000);  
//получается 25 KB
//надо, чтоб получилось 25,8 KB




--------------------
PM WWW ICQ Skype Jabber   Вверх
ksili
Дата 19.2.2009, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Вообще-то в килобайте 1024 байта...

Я бы использовал FormatFloat. В AnsiString такой метод есть. Там  с указанием кол-ва знаков после запятой проблем нет. Может и в UnicodeString такой метод есть?

Добавлено через 1 минуту и 27 секунд
ну или как вариант, можно попробовать:
Код

lblImgSize->Caption = UnicodeString().sprintf(L"Размер картинки: %d KB", (float)i64PicSize / 1024.);  

но я в использованиии sprintf не очень силен.


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
xvr
Дата 19.2.2009, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Код

sprintf(L"Размер картинки: %.1f KB", i64PicSize / 1024.); 

PM MAIL   Вверх
Alca
Дата 19.2.2009, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



У меня так получилось:
Цитата

lblImgSize->Caption = UnicodeString().sprintf(L"Размер картинки: %.1f KB", i64PicSize / 1000.0);


Добавлено через 1 минуту и 17 секунд
Спасибо.

Добавлено через 6 минут и 2 секунды
Прикольная статейка:
Загадки округления. Тестирование функций округления различных языков.

Это сообщение отредактировал(а) Alca - 19.2.2009, 14:38


--------------------
PM WWW ICQ Skype Jabber   Вверх
Dem_max
Дата 19.2.2009, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



Цитата

Вообще-то в килобайте 1024 байта..

это ты производителям винчестеров скажи, ато они маркируют в неправильных гигабайтах


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
mrbrooks
Дата 19.2.2009, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(Dem_max @  19.2.2009,  15:03 Найти цитируемый пост)
это ты производителям винчестеров скажи, ато они маркируют в неправильных гигабайтах 

это к тому что покупаем к примеру 200 Гб, а в реале 195?
PM MAIL   Вверх
math64
Дата 19.2.2009, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 4
Всего: 72



Для различения были предложены в 1999г:
1 килобайт (1 kB) = 1000 байт
1 кибибайт (1 kiB) = 1024 байта
1 мегабайт (1 MB) = 1000000 байт
1 мебибайт (1 MiB) = 1048578 байт
и т.д.

PM   Вверх
mrbrooks
Дата 19.2.2009, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



math64, не слабо. впервые слышу об этом. хм. уж всю жизнь думал, что 1 килобайт = 1024 байта и т.д.
PM MAIL   Вверх
math64
Дата 19.2.2009, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 4
Всего: 72



PM   Вверх
mrbrooks
Дата 19.2.2009, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(math64 @  19.2.2009,  15:52 Найти цитируемый пост)
http://ru.wikipedia.org/wiki/Кибибайт 

все вспомнил - первый курс. эх. давно это было.
PM MAIL   Вверх
Rififi
Дата 20.2.2009, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 1
Всего: 36



Dem_max, 
это ты производителям винчестеров скажи, ато они маркируют в неправильных гигабайтах 
а чё им говорить, они это и так знают. больше денег за меньше байтов! :gigi: вот и кибибайт пролоббировали для прикрытия... smile

Это сообщение отредактировал(а) Rififi - 20.2.2009, 12:07
PM MAIL   Вверх
Djinn
Дата 21.2.2009, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 250
Регистрация: 18.5.2007

Репутация: нет
Всего: 1



А эти кибибайты где используются ? только в внешних устройствах ? smile или в оперативной памяти и т. д. тоже так надо считать:
1mb = 1000kb... ???
PM MAIL   Вверх
Dem_max
Дата 21.2.2009, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



Хорошо что ГОСТ однозначно решил что 1 килобайт = 1024 байтам, иначе бы интернет провайдеры считали бы по схеме 1 килобайт = 1000 байтам, что очень не выгодно клиентам.


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0962 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.