LINUX.ORG.RU

Как можно сократить кол-во чисел?

 , , ,


0

1

Есть панелька. В ней рисуется band карты

D:2M    U:114K

Цифры занимают от 2-х до 4-х символов. Чтобы панелька не «прыгала», в конец добавляются символы. Ширина этого всего 14 символов. Очень хотелось бы сократить ее. До 2-х символов. Что-то типа:

1 -- > A
10 --> B
100 --> C

Чтобы получилось вместо:

1k 2k 3k 4k 5k 6k 7k 8k 9k 10k
10k 20k 30k 40k 50k 60k 70k 80k 90k
100k 200k 300k 400k 500k 600k 700k 800k 900k 
1M 2M 3M 4M 5M 6M 7M 8M 8M 9M 10M
1A 2A 3A 4A 5A 6A 7A 8A 9A
1B 2B 3B 4B 5B 6B 7B 8B 9B
1C 2C 3C 4C 5C 6C 7C 8C 9C
1D 2D 3D 4D 5D 6D 7D 8D 9D

Есть какие-то другие предложения? Шестнадцетиричные цифры не предлагать - нужно напрягаться их расшифровывать))

Может какие-то юникодные символы «намастырить»?

★★★

Последнее исправление: serg002 (всего исправлений: 2)
01 02 03 04 05 06 07 08 09
10 20 30 40 50 60 70 80 90  ← тут ты можешь и нормальные 11-99 юзать
1c 2c 3c 4c 5c 6c 7c 8c 9c
1M 2M 3M 4M 5M 6M 7M 8M 9M

c от cent. Не моя выдумка, иногда такая запись используется. Например в rtorrent-ps.

P.S. Рекомендую именно строчную c, чтобы издалека не путалось с нулём совсем. Так второй символ выходит легко различим даже переферическим зрением.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 3)

Может какие-то юникодные символы «намастырить»?

₀₁₂₃₄₅₆₇₈₉
⁰¹²³⁴⁵⁶⁷⁸⁹
❶❷❸❹❺❻❼❽❾❿
➀➁➂➃➄➅➆➇➈➉
➊➋➌➍➎➏➐➑➒➓
dataman ★★★★★
()
Ответ на: комментарий от CrX

Отлично. Я бы так и сделал. Центурии и Милениал, латынь во все поля, коротко и понятно.

AVL2 ★★★★★
()
Ответ на: комментарий от serg002

Не важно. Тут корячится тяжёлый и длинный скрипт на баше или что то аналогичное на более подходящих языках. Но суть прежняя: это придётся написать.

kirill_rrr ★★★★★
()
Ответ на: комментарий от serg002

К тому что не важно как сокращать и 2 или 1 буква там будет, важно что один хрен надо поностью перепарсить и пересчитать вывод монитора. И более важен вопрос не метода сокращения и приставок, а на каком языке писать, откуда брать данные и куда их выводить.

kirill_rrr ★★★★★
()
Ответ на: комментарий от serg002

А в чём тогда вопрос? Если ты можешь пересчитать значения и трансформировать строку, и ещё скормить это панельке - там уже не важно какой именно префикс приписать, будет и компактно и не прыгать.

Кстати, если вопрос именно в формате выдачи информации, тогда вообще всю строку можно сократить до 2 смволов, которые для наглядности можно заменить цветовыми метками.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от serg002

Зачем так много может понадобиться? Если действительно такая задача стоит и надо в два символа, то можно заюзать что-то типа ₂₃₄₅₆₇₈₉, означающие степень десятки, на которую надо умножить (ну то есть, сколько нулей добавить). Иными словами, кодируем экспоненциальную запись в 2 символа.

1-9        01 02 03 04 05 06 07 08 09  aka единицы
10-90      10 20 30 40 50 60 70 80 90  aka десятки  (можно в принципе юзать всё разрешение от 01 до 99)
1e2-9e2    1₂ 2₂ 3₂ 4₂ 5₂ 6₂ 7₂ 8₂ 9₂  aka сотни
1e3-9e3    1₃ 2₃ 3₃ 4₃ 5₃ 6₃ 7₃ 8₃ 9₃  aka тысячи
1e4-9e4    1₄ 2₄ 3₄ 4₄ 5₄ 6₄ 7₄ 8₄ 9₄  aka тьмы
1e5-9e5    1₅ 2₅ 3₅ 4₅ 5₅ 6₅ 7₅ 8₅ 9₅  aka легионы
1e6-9e6    1₆ 2₆ 3₆ 4₆ 5₆ 6₆ 7₆ 8₆ 9₆  aka миллионы
1e7-9e7    1₇ 2₇ 3₇ 4₇ 5₇ 6₇ 7₇ 8₇ 9₇  aka враны
1e8-9e8    1₈ 2₈ 3₈ 4₈ 5₈ 6₈ 7₈ 8₈ 9₈  aka колоды
1e9-9e9    1₉ 2₉ 3₉ 4₉ 5₉ 6₉ 7₉ 8₉ 9₉  aka миллиарды 

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)

Обязательна привязка к 1000? Можно тоже самое процентами bM aa OF

drl
()
Ответ на: комментарий от serg002

Это ты уж сам проверь. Мне оно не нужно, у меня хватает места в панели, чтобы показать и три цифры и букву от кило-мега-гига-итд, везде, где требуется.

CrX ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.