Есть возможно сделать как-то чтобы не терялись знаки при конвертации строки в double при следующих ситуациях?
string number = "12.400";
double result;
var flag = Double.TryParse(number, NumberStyles.Float,
CultureInfo.InvariantCulture.NumberFormat, out result);
Результат будет 12.4, а нужно 12.400. Заранее сколько знаков хранить я не знаю. Стандартное готовое решение есть этому или надо парсить строку и получать сколько знаков после разделителя, а потом это использовать в формате?
decimal result;
Decimal.TryParse (...);
//Все знаки на месте
Вещественные числа хранятся в памяти в виде: знак (+/-), экспонента (степень показателя системы счисления, чаще всего 2), мантисса (набор битов, которые кодируют мантиссу числа).
В этом смысле числа 12.4 и 12.400 эквивалентны, так как будут храниться в памяти одинаково. Если нужно, храните отдельно количество знаков после запятой. Можете это количество вычислять исходя из строки:
string number = "12.400";
int digitCount = number.Split('.')[1].Length;
А потом форматировать соответствующим образом:
double result;
var flag = Double.TryParse(number, NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, out result);
string numberFormated = String.Format("{0:0.".PadRight(digitCount, "0") + "}", result);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Реализацию прыжка в 2D платформере сделал через "rigidbodyAddForce", при получении урона, происходит тоже самое (то есть отталкивание)
Пытаюсь по клику мыши (её координатам) отобразить прямоугольник, но он почему то отрисовывается немного левее и выше относительно курсора,...