Принтиране на реални числа
Захванах се да решавам някои от задачите дадени на изпита по C# и на една задача трябва да се принтират разни числа. Та когато ползваме double или float принтира винаги с десетична запетая (3 = 3.0). Решение на проблема е ако се ползва целочислен тип или се cast-ва към такъв но в случая не е опция. Идеята е като примерно се въведе 1.5 да се принтира 1.5, ако е 1 -> 1 (не 1.0). Опитах с BigDecimal и се получава (1 -> 1, 1.5 -> 1.5 и т.н.) обаче тогава пък възниква проблем когато се правят аритметични операции с него. Например ако съберем 1.5 + 1.5 = 3 обаче го принтира като 3.0 въпреки, че е BigDecimal. По подобен начин и други операции (1.75 + 1.75 = 3.50). Друг вариант е самите числа преди да се принтират да се проверяват дали имат някакви стойности след десетичната запетая и ако има да се принтират както са ти, ако ли не да се кастват към целочислени. Този вариант обаче малко не ме кефи и ми е интересно дали някой може да сподели 3-та опция :)
В крайна сметка реших да ползвам DecimalFormater метода като в конструктора му подам някакъв pattern, който ми върши работа. Все пак мерси за предложенията :)