Home
Stop! This is a wrong planet I got off.
Wow, I like this world!
Recent Entries 
1st-Aug-2007 01:17 pm - Округление
Me2009, Main
Сегодня с утра весь офис занимается тем, что проверяет, сколько будет round(1.005,2) в разных системах. Microsoft повсеместно использует так называемое Banker's rounding, округляя до четных чисел. В результате числа 1.005 и 0.995 оба округляются до единицы. Согласно немецким нормам DIN 1333, округление должно идти всегда вверх в случае 5 (так называемое aufrunden).
Шеф, которому звонили на сотовый в отпуске, сказал, что по его экспериментам (все-таки человек опытный!!) в Excel функция round правильно производит округление, поэтому во всех наших проектах мы генерируем OLE-объект Excel и вызываем эту функцию из него :)
Для тех, кто тоже столкнулся с этой проблемой, вот простое решение на Visual Basic, которое легко адаптировать для других языков:

Function KaufRunden(varNumber As Variant, Optional intStellen As Integer = 2) As Double
   KaufRunden = Fix("" & varNumber * (10 ^ intStellen) + Sgn(varNumber) * 0.5) / (10 ^ intStellen)
End Function
21st-Jun-2007 12:10 am - Ошибка в ДНК
Me2009, Main
Три (!!) дня отлаживал небольшой статический метод класса, задача которого очистить string от ненужных мне элементов. Входной файл, который должнен был быть "очищен" имел такой вид:
0 00 0 : 1
0001:0
  0010:1 // Комментарий
0011:1
010 0:0
0110 :0
0111:1
Четыре для у меня не получалось ни фига, не смотря на то, что я перепробовал все возможные подходы, и используя прямое обращение к элементам string через метод at, и методы find, find_first_of, find_fist_not_of, и даже стандартный алгоритм remove_if, для которого я даже написал свой собственный бинарный предикат

struct isinstr : public binary_function <char,string, bool>
{
bool operator()(char a, string b) const
{
return !(b.find(a) == string::npos) ;
}
};

Но ни фига не получалось... Комментарий легко отделялся, но строки выходили такими же "куцыми".
Наконец, на четвертый (!!) день до меня дошло, что в строках там не пробелы, а символы табуляции, мать их... Как только вызов функции был изменён с " " на " \t", все заработало с пол-пинка...
20th-Apr-2007 10:04 pm - Lost in translation
Me2009, Main
Попросили меня проверить перевод одного юридического документа на английский.
Перевод вроде бы сделан неплохо, но то ли переводчику не хватало слов, то ли опыта -- зачастую перевод был настолько литературным, что от оригинало там оставалось совсем мало. Для перевода юридического документа это, конечно, не всегда оптимально.
Однако некоторые моменты перевода меня заставили просто рыдать.

увы, часто плачевен... для заказчика.
Me2009, Main
«Рискуя быть понятым одними только математиками, я приведу… примеры ответов лучших кандидатов на профессорскую должность математика в университете в Париже весной 2002 года (на каждое место претендовало 200 человек).
   Кандидат преподавал линейную алгебру в разных университетах уже несколько лет, защитил диссертацию и опубликовал с десяток статей в лучших математических журналах Франции.
   Отбор включает собеседование, где кандидату предлагаются всегда элементарные, но важные вопросы (уровня вопроса «Назовите столицу Швеции», если бы предметом была география).
This page was loaded Nov 8th 2009, 12:42 pm GMT.