Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 4698
Рейтинг: 426
#1: 2009-06-05 12:00:47 ЛС | профиль | цитата
Не могу найти, можно ли в MathParse делать какие-либо действия с числами, у которых стандартный вид(1.5*10^5, 5*10^3)? Просто порою в работе со стримами приходится вычислять размер в байтах больших файлов( 589мб, 1.15Гб...) и пишет, что ошибка в позиции 5 формулы %0 + %1 Возможно ли такое?
карма: 10
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#2: 2009-06-05 13:00:53 ЛС | профиль | цитата
Assasin, а вот так 1.5E5 или 1.5E3 не пробовал
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#3: 2009-06-05 15:26:01 ЛС | профиль | цитата
А как чтоб ответ выдавался в таком же виде, например 1.5E3 + 1.5E3 = 3E5 или 1000000 + 10000 = 1.1E11?
карма: 10
0
Ответов: 2125
Рейтинг: 159
#4: 2009-06-05 16:02:38 ЛС | профиль | цитата
Assasin писал(а):
1000000 + 10000 = 1.1E11?

Ну такое - точно никак Даже если плюс на звёздочку поменять...
карма: 1

0
Ответов: 3851
Рейтинг: 159
#5: 2009-06-05 18:18:58 ЛС | профиль | цитата
Assasin писал(а):
вычислять размер в байтах больших файлов( 589мб, 1.15Гб...)

а как связаны степени десятичных чисел с этими мб и Гб?
там ведь вроде двоична арифметика - 2^10=1024, а не 1000..
карма: 0
начавший
0
Ответов: 8930
Рейтинг: 823
#6: 2009-06-05 19:26:44 ЛС | профиль | цитата
Андрей., ну об этом уже было здесь: программист объясняет задачу сыну-первокласснику "Положим, у тебя есть 1000 руб, для круглого счёта пусть будет 1024 руб..."
карма: 19

0
Разработчик
Ответов: 4698
Рейтинг: 426
#7: 2009-06-06 10:57:42 ЛС | профиль | цитата
Я же конкретно написал, что...
Assasin писал(а):
Просто порою в работе со стримами приходится вычислять размер в байтах больших файлов( 589мб, 1.15Гб...) и пишет, что ошибка в позиции 5 формулы %0 + %1

Поэтому я и решил, что можно решить проблемму стандартным видом числа, только вот как его написать в формуле, не понял. А вы...
Леонид писал(а):
Андрей., ну об этом уже было здесь: программист объясняет задачу сыну-первокласснику "Положим, у тебя есть 1000 руб, для круглого счёта пусть будет 1024 руб..."

Хотя если есть другие варианты решения этой проблеммы, то пожалуйста, жду ответов... Если надо то и + поставлю... ну это так...
карма: 10
0
Ответов: 16884
Рейтинг: 1239
#8: 2009-06-06 11:42:09 ЛС | профиль | цитата
Assasin писал(а):
%0 + %1
а формулу менять не пробовал, к примеру %1+%0
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8930
Рейтинг: 823
#9: 2009-06-06 17:40:55 ЛС | профиль | цитата
Assasin, проблеммы нет совсем, даже в KOL есть функция
function Num2Bytes( Value: Double ): String;
Преобразование Value в строку исходя из того, что Value это количество байт. Если Value достаточно большое, число представляется в виде килобайт (с буквой K в конце), или мегабайт (M), гигабайт (G) или терабайт (T).
добавить её в конвертор никаких сложностей. Но можно и на "рассыпухе" code_13627.txt
карма: 19

0
файлы: 1code_13627.txt [5.3KB] [155]
Ответов: 16884
Рейтинг: 1239
#10: 2009-06-06 18:09:17 ЛС | профиль | цитата
Леонид, хорошо знать формулы,

Add(MathParse,11319333,462,63)
{
DataCount=1
MathStr="round(%1)"
}
но знание матчасти тоже не вредно.

Add(MathParse,4943548,532,98)
{
DataCount=1
MathStr="%1"
ResultType=0
}
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8930
Рейтинг: 823
#11: 2009-06-06 18:59:42 ЛС | профиль | цитата
Tad, я-то полагал, главный инспектор до сих пор в море плещется, вот и кое как делал
------------ Дoбавленo в 19.05:
Сейчас посмтрел - и правда хотя был не уверен, какая операция происходит при ResultType=0: round или trunc
карма: 19

1
Голосовали:Assasin
Ответов: 16884
Рейтинг: 1239
#12: 2009-06-06 19:17:25 ЛС | профиль | цитата
Леонид писал(а):
вот и кое как делал
Заметно.

Вот эту, ну очень красивую конструкцию,
почему не заменить на

Add(StrMask,4965851,161,105)
{
Mask="#"
}

Все. Убежали.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1lll.png [1000B] [289]
Ответов: 8930
Рейтинг: 823
#13: 2009-06-06 20:29:08 ЛС | профиль | цитата
Tad, эта, ну очень красивая конструкция, более универсальна, но в данном конкректном случае, конечно, можно заменить, да и всю схему можно переделать на другие принципы (не менее 1001 способов)
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#14: 2009-06-06 21:47:18 ЛС | профиль | цитата
Леонид, все путем.
Алгоритм очень даже
Переделывать не надо
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#15: 2009-06-06 21:55:07 ЛС | профиль | цитата
Кстати, Леонид, последняя версия MathParse поддерживает условие. Это я так, мимо проходил (но честно, меня убила схема такого размера на одно несчастное преобразование. Хотя, я и сам иногда страдаю гигантизмом, но не до такой же степени)
карма: 22

1
Голосовали:Tad
Сообщение
...
Прикрепленные файлы
(файлы не залиты)